有人知道从Android 5.0中删除了狭窄功能时的分割操作栏吗?它似乎对布局没有任何影响。
答案 0 :(得分:9)
因为这个问题之前没有真正回答过......
有人知道从Android 5.0中移除了狭窄功能时的分割操作栏吗?
是,it was,但问题跟踪条目本身之外的that change is not documented。
答案 1 :(得分:3)
如上所述,您无法拆分操作栏,但使用工具栏可以获得更好的结果。
Toolbar toolbarBottom = (Toolbar) findViewById(R.id.toolbar_bottom);
toolbarBottom.inflateMenu(R.menu.menu_bottom);
toolbarBottom.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
//your code
return false;
}
});
重要的是,此功能向后兼容appcompat支持
compile "com.android.support:appcompat-v7:21.0.+"
您还需要在布局中声明工具栏。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"/>
<LinearLayout
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="?attr/actionBarSize"
android:layout_above="@id/toolbar"
android:layout_below="@id/toolbar_bottom" />
</LinearLayout>
答案 2 :(得分:0)
与其他答案一样,您可以使用菜单xml文件或直接通过编码创建自己的栏
工具栏无法始终显示两个或多个项目,但您可以强制工具栏显示始终可见的操作按钮,溢出操作将自动创建选项菜单。
其他基本定制可以通过xml文件完成
代码:
final Toolbar lowerTool=(Toolbar)findViewById(R.id.lower_toolbar);
lowerTool.inflateMenu(R.menu.lower_toolbar_menu);
lowerTool.getMenu().findItem(com.tvf.emag.R.id.action_previous).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT| MenuItem.SHOW_AS_ACTION_IF_ROOM);
lowerTool.getMenu().findItem(com.tvf.emag.R.id.action_previous).setEnabled(mPager.getCurrentItem() > 0);
lowerTool.getMenu().add(Menu.NONE, com.tvf.emag.R.id.action_next, Menu.NONE,
(mPager.getCurrentItem() == mPagerAdapter.getCount() - 1)
? com.tvf.emag.R.string.action_finish
: com.tvf.emag.R.string.action_next);
lowerTool.getMenu().findItem(com.tvf.emag.R.id.action_next).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT| MenuItem.SHOW_AS_ACTION_IF_ROOM);
lowerTool.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
switch (menuItem.getItemId()) {
case com.tvf.emag.R.id.action_previous:
mPager.setCurrentItem(mPager.getCurrentItem() - 1);
return true;
case com.tvf.emag.R.id.action_next:
mPager.setCurrentItem(mPager.getCurrentItem() + 1);
return true;
}
return true;
}
});