android 两个背景弹出菜单的项目背景颜色

android item background color for two backgrounds popup menu

我有 3 个活动都使用相同的菜单,其中 2 个活动有弹出菜单或溢出菜单。所以在 activity 2 上,我将 itemBackground 设置为红色,在另一个 activity 3 上,我想将 itemBacground 设置为蓝色。我已将菜单中的操作定义为两个不同的操作。 Android 将背景视为一个视图。此 post HERE 讨论的是同一弹出菜单可以有两种文本大小,但 itemBackground COLOR 不能。我考虑了两个 menu.xml 文件,但只要 android 将 itemBackground 视为一个不应该工作的独特视图。尚未测试。 有没有人建议如何在我的每个活动弹出菜单上使用两种不同的背景颜色?

不确定这是否有帮助,但这是我的 res/values/styles 代码

<item name="android:itemBackground">@color/bgpopup</item>

@James_Duh 我发现一个 6 岁的 post 说这是一个问题 我不确定 Google 是否已进行更正。由于您需要对 Activity 执行一些操作 3 您可以将 TextView 添加到工具栏并将点击侦听器绑定到文本。然后,如果颜色很重要,您可以将文本设置为某种颜色。虽然这不是您问题的确切答案,但我希望这是一个倾斜的选择。下面是 7 年级学生的好问题

这进入与工具栏声明下方的 Activity 关联的 xml 文件中

        <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Add"
        android:textStyle="bold"
        android:textSize="22sp"/>

这是关联 Activity

中侦听器的构造
    private void addListenerOnTextView() {
    Toolbar tb = (Toolbar) findViewById( R.id.toolbar );
    setSupportActionBar( tb );
    tb.findViewById( R.id.title ).setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            System.out.println("Text Was Clicked");
        }
    } );
    getSupportActionBar().setTitle( null );
}

好的,这进入 xml 文件

        <Button
        android:text="NEW"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btnNew"
        android:layout_marginLeft="260dp"/>

这是 Activity

中的监听器
    private void addListenerOnButtonNew() {
    Toolbar tb = (Toolbar) findViewById( R.id.toolbar );
    setSupportActionBar( tb );
    tb.findViewById( R.id.btnNew ).setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent intent = new Intent( Activity2.this, Activity3.class );
            startActivity( intent );
        }
    } );
    getSupportActionBar().setTitle( null );
}

在我的评论中,这里的空格应该是这样的条纹

setTitle("      Page Three                   ");