我一直試圖在ICSAndroid的動作條setActionView佈局問題
使用setActionView從動作條似乎應該是簡單的,但不知何故我沒有變,我會希望佈局對齊。正如您在下面的圖片中看到的,「目標」圖標在其佈局中正確居中。但是當我設置ActionBar(進度)時,無論我嘗試什麼,進度視圖總是與右邊對齊。
這裏有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的幫助非常感謝。 –