Android Studio ActionBar 宽度/图标位置 [英] Android Studio ActionBar width / icon locations

查看:31
本文介绍了Android Studio ActionBar 宽度/图标位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的 ActionBar 出现问题,导致我的菜单图标被压在屏幕边缘!

以下是我调整过的样式和声明的一些代码片段:

HomeActivity.xml

私有TextView tvViewAll;DrawerLayout mDrawerLayout;私人 ActionBarDrawerToggle mDrawerToggle;@覆盖public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_home);//导航抽屉mDrawerLayout = findViewById(R.id.drawer_layout);//菜单抽屉的自定义阴影mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);//ActionBarDrawerToggle 将适当的交互联系在一起//在滑动抽屉和操作栏应用程序图标之间mDrawerToggle = new ActionBarDrawerToggle (this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close);mDrawerLayout.addDrawerListener(mDrawerToggle);mDrawerToggle.syncState();getSupportActionBar().setDisplayHomeAsUpEnabled(true);}@覆盖公共布尔 onOptionsItemSelected(MenuItem item) {if(mDrawerToggle.onOptionsItemSelected(item)){返回真;}返回 super.onOptionsItemSelected(item);}

styles.xml

<!-- 基本应用程序主题.--><style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"><item name="android:statusBarColor">@color/colorBackgroundBlack</item><item name="android:navigationBarColor">@color/colorBackgroundBlack</item><item name="actionMenuTextColor">@color/colorBackgroundBlackDark</item><item name="colorPrimary">@color/colorBackgroundBlackDark</item><item name="colorAccent">@color/colorPrimaryDark</item><item name="colorButtonNormal">@color/ipBlue</item><item name="toolbarNavigationButtonStyle">@color/ipGreen</item></风格><style name="ActionBar.Solid.TMSA.NoTitle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"><item name="displayOptions">useLogo|showHome</item><item name="logo">@drawable/ic_ipaustralialogo</item><item name="android:contentDescription">@string/ip_logo</item></风格><style name="AppTheme.TMSA" parent="@style/AppTheme"><item name="actionBarStyle">@style/ActionBar.Solid.TMSA.NoTitle</item></风格>

除了包含 gov 徽标外,我不记得触及 ActionBar 的格式布局,但我无法弄清楚为什么我会得到这个歪斜的菜单图标.>

我已经考虑过使用 Toolbar 方法,但不想转换 :P

快乐编码:)

解决方案

ActionBarDrawerToggleActionBar 的导航按钮上设置其切换图标.在 AppCompatActivity 中,ActionBar 实际上是下面的 Toolbar,并且导航按钮的样式使用 style 资源在主题的 toolbarNavigationButtonStyle 属性上设置.

在您的主题中,您在该属性上设置了 color 资源,而不是 style 资源,并且默认样式中的所有值都将丢失,包括 minWidth 值,这就是为什么你的切换被包裹到可绘制的宽度.

如果你想修改导航按钮上的一些样式值,你应该创建你自己的style资源,使用默认的style作为它的parentcode>,在那里设置所需的属性,并将该 style 指定为您的主题的 toolbarNavigationButtonStyle.例如: