मैं आईसीएसएंड्रॉयड ActionBar setActionView लेआउट मुद्दा
में ActionBar से setActionView उपयोग करने की कोशिश कर रहा है लगता है जैसे कि यह सीधे आगे होना चाहिए लेकिन किसी भी तरह मैं लेआउट संरेखण है कि मैं के लिए आशा नहीं मिल रहा है। जैसा कि आप 'लक्ष्य' आइकन के नीचे की छवि में देख सकते हैं, इसके लेआउट के भीतर सही ढंग से केंद्रित है। लेकिन जब मैं एक्शनबार (प्रगति) सेट करता हूं तो प्रगति दृश्य हमेशा जो कुछ भी मैं कोशिश करता हूं, उसे हमेशा गठबंधन करता है।
यहाँ से पहले और मेनू आइटम क्लिक करने के बाद, 2 राज्य हैं। जैसा कि आप देख सकते हैं कि प्रगति दृश्य हमेशा दाईं ओर गठबंधन होता है। मैंने अपने प्रगति लेआउट xml में गुरुत्वाकर्षण विकल्पों को बाएं से दाएं से केंद्र तक बदलने की कोशिश की है और जो कुछ भी मैं बदलता हूं, वह कुछ भी बदलने में प्रतीत नहीं होता है।
मुझे इस समस्या से संबंधित कोई जानकारी नहीं मिली है, इसलिए मुझे लगता है कि मुझे कुछ गलत करना होगा।
क्या किसी के पास कोई सुराग है? मदद के लिए धन्यवाद!
यहाँ मेरी क्रिया बार मेनू लेआउट 'action_bar_menu.xml'
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/locate"
android:title="locate"
android:icon="@drawable/locate"
android:showAsAction="ifRoom|withText" />
</menu>
यहाँ मेरी प्रगति लेआउट 'inderterminate_progress.xml'
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<ProgressBar android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="center"
android:indeterminate="true"
style="?android:attr/progressBarStyleInverse"/>
</FrameLayout>
अंत में यहाँ है और है मेरी testx गतिविधि है
public class HelloAndroidActivity extends Activity {
/**
* Called when the activity is first created.
* @param savedInstanceState If the activity is being re-initialized after
* previously being shut down then this Bundle contains the data it most
* recently supplied in onSaveInstanceState(Bundle). <b>Note: Otherwise it is null.</b>
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getActionBar().setTitle("Test");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.action_bar_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
if (R.id.locate == item.getItemId()) {
final MenuItem menuItem = item.setActionView(R.layout.inderterminate_progress);
new Thread(new Runnable() {
@Override
public void run() {
SystemClock.sleep(3000);
runOnUiThread(new Runnable() {
@Override
public void run() {
menuItem.setActionView(null);
}
});
}
}).start();
}
return true;
}
}
हाँ, आप पूरी तरह से सही हो :)। मदद के लिए Thx यह बहुत सराहना की है। –