Android Studio ActionBar 宽度/图标位置 [英] Android Studio ActionBar width / icon locations
本文介绍了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
快乐编码:)
解决方案
ActionBarDrawerToggle
在 ActionBar
的导航按钮上设置其切换图标.在 AppCompatActivity
中,ActionBar
实际上是下面的 Toolbar
,并且导航按钮的样式使用 style
资源在主题的 toolbarNavigationButtonStyle
属性上设置.
在您的主题中,您在该属性上设置了 color
资源,而不是 style
资源,并且默认样式中的所有值都将丢失,包括 minWidth
值,这就是为什么你的切换被包裹到可绘制的宽度.
如果你想修改导航按钮上的一些样式值,你应该创建你自己的style
资源,使用默认的style
作为它的parent
code>,在那里设置所需的属性,并将该 style
指定为您的主题的 toolbarNavigationButtonStyle
.例如: