分割アクションバーの上部にいくつかのアクションアイテムを指定し、他のアクションアイテムを下部に指定する方法はありますか?それとも、すべてのアクションアイテムが分割の下部にのみ移動する、すべてかゼロか。
5 に答える
これは現在不可能です。
Android デベロッパー オフィスアワーでの Android デベロッパーの Reto Meier と Roman Nurik からの直接の回答をご覧ください: 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