一部のアクションアイテムをスプリットアクションバーの上部に指定し、他のアクションアイテムを下部に指定する方法はありますか?それとも、すべてまたは何もありません。それにより、すべてのアクション項目はスプリットの下部のみに移動しますか?
これは現在不可能です。
Android開発者Reto MeierとRoman NurikからAndroid Developer Office Hours: http://youtu.be/pBmRCBP56 -Q?t = 55m50s
これを解決するために、アクションバーとしてカスタムビューを使用しました。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ActionBar actionBar = getActionBar();
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
View view = View.inflate(getApplicationContext(), R.layout.actionbar,
null);
actionBar.setCustomView(view);
}
そして、下部のバーについては、メニュービューまたは下部に表示するものを拡大しました。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.browser_main, menu);
RelativeLayout relativeLayout = (RelativeLayout) menu.findItem(
R.id.layout_item).getActionView();
View inflatedView = getLayoutInflater().inflate(
R.layout.media_bottombar, null);
relativeLayout.addView(inflatedView);
return true;
}
Androidマニフェストでは、次のように(Android:uiOptions = "splitActionBarWhenNarrow")も含めます。
<application
Android:allowBackup="true"
Android:icon="@drawable/ic_launcher"
Android:label="@string/app_name"
Android:theme="@style/AppTheme"
Android:uiOptions="splitActionBarWhenNarrow" > ....
この問題を解決するには、CustomViewを使用し、上部に表示されるメニュー項目をこのビューに追加します。
このオプションが有効な場合、Androidにはアクションバーを分割するオプションがあります。分割するかどうかは実行時にシステムによって決定されます
十分なスペースがない場合、システムによってアクションバーが自動的に分割されるように定義できます。AndroidManifest.xmlファイルのアプリケーションアクティビティの宣言でAndroid:uiOptions = "SplitActionBarWhenNarrow"パラメーターを使用してアクティブにできます。
疑わしい。ただし、アクションバーでメニュー項目を作成するときにこれらを組み合わせて実験することができます。
MenuItem.SHOW_AS_ACTION_ALWAYS
MenuItem.SHOW_AS_ACTION_NEVER
MenuItem.SHOW_IF_ROOM