两个背景弹出菜单

时间:2016-10-13 22:22:40

标签: android android-styles

我有3个活动都使用相同的菜单,其中2个活动有popupMenu或溢出菜单。因此,在活动2上,我将itemBackground设置为RED,而在另一个活动3上,我想将itemBacground设置为BLUE。我已将菜单中的操作定义为两个不同的操作。 Android将背景视为一个视图。这篇文章HERE讨论了能够为同一个popupMenu而不是itemBackground COLOR设置两个TEXT大小。我考虑了两个menu.xml文件,但只要android将itemBackground看作一个不应该工作的不同视图。尚未测试。 有没有人建议如何在我的每个活动popupMenus上有两种不同的背景颜色?

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

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

1 个答案:

答案 0 :(得分:1)

@James_Duh我发现了一个6岁的帖子,说这是一个问题,我不确定谷歌是否做了更正。因为您需要执行一些操作,比如说活动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"/>

这是相关活动

中侦听器的构造
    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                   ");