Android ActionBar错误的布局方向

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android ActionBar错误的布局方向相关的知识,希望对你有一定的参考价值。

我以前没有使用过右边的布局,应用程序布局在androidManifest.xml中强制rtl如下:

<application android:label="@string/app_name"
    android:icon="@mipmap/icon"
    android:supportsRtl="true"
    android:layoutDirection="rtl" ...>
    ...
</application>

但这就是ActionBar出现的方式:

ActionBar

<menu
  xmlns:android="http://schemas.android.com/apk/res/android">
  <item
    android:id="@+id/inventory_menu_drawer"
    android:showAsAction="always"
    android:title="@string/action_search"
    android:icon="@drawable/ic_menu_black_18dp" />
  <item
    android:id="@+id/inventory_menu_search"
    android:actionViewClass="android.widget.SearchView"
    android:showAsAction="collapseActionView|ifRoom"
    android:title="@string/action_drawer"
    android:icon="@drawable/ic_search_black_18dp" />
</menu>

这些物品不应该嵌套在rtl上,还是我错过了什么?我还在运行时使用Window.Context.Resources.Configuration.LayoutDirection检查了布局方向,并返回Rtl,活动视图也显示rtl OK。

答案

这些物品从右到左排列,然后左对齐。如果你从左到右运行这段代码,你就会看到相反的情况。也就是说,这些项目将从左到右排列,然后右对齐。这是菜单项的工作方式:https://developer.android.com/guide/topics/ui/menus.html#options-menu

以上是关于Android ActionBar错误的布局方向的主要内容,如果未能解决你的问题,请参考以下文章

Android ActionBar 自定义布局样式

使用Android Navigation Component,如何使actionBar透明并在单个Fragment中使布局全屏?

解决ActionBar中的item不显示在ActionBar的问题

带有导航选项卡的 ActionBar 随屏幕方向改变高度

android中怎么将actionbar设置为居中

Android知识串讲(1) 底部导航栏遮挡转屏锁定ActionBar隐藏