菜单栏项目未显示在RTL中并更改标题颜色

时间:2019-04-17 06:15:04

标签: android menu menuitem

在menu.xml中,我有两个项目。在LTR模式下它可以正确显示。但是在RTL中,它不能正确显示。缺少一项。我已经附上了屏幕截图和代码。而且我需要更改标题名称的颜色。 LTR RTL

我在清单文件中添加了supportRTL =“ true”

menu.xml

   <menu xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
    >

<item android:id="@+id/action_settings"
    android:title="@string/action_settings"
    app:showAsAction="never" />

<item
    android:id="@+id/notification"
    android:title="Notification"
    app:actionLayout="@layout/badge_counter"
    app:showAsAction="always"/>
  </menu>

代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu, menu);

    // Create a condition (hide it if the count == 0)
    if (mNotificationCounter > -1) {
        BadgeCounter.update(this,
                menu.findItem(R.id.notification),
                R.drawable.noti,
                BadgeCounter.BadgeColor.BLUE,
                mNotificationCounter);
    } else {
        BadgeCounter.hide(menu.findItem(R.id.notification));
    }

    this.menu = menu;
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    this.menuItem = item;
    int id = item.getItemId();
    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    } else if (id == R.id.notification) {
        // If you want to update
       // mNotificationCounter--;
    }
    return super.onOptionsItemSelected(item);
}

请仅看到该通知图标缺失。

1 个答案:

答案 0 :(得分:0)

尝试在其中定义菜单标签。

android:layoutDirection="rtl"

   <menu xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"

android:layoutDirection="rtl"
>