小编vvT*_*hat的帖子

如何获取 xml 中的子菜单?

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/item_first"
        android:showAsAction="always"
        android:visible="true">
    </item>
    <item
        android:id="@+id/item_second"
        android:showAsAction="always"
        android:visible="true">
    </item>
    <item
        android:id="@+id/item_third"
        android:showAsAction="always"
        android:visible="true">

        <menu 
            android:id="@+id/menu_revice" >

            <item
                android:id="@+id/ap_none"
                android:showAsAction="never"
                android:title="Item in SubMenu 1"/>
            <item
                android:id="@+id/ap_mid"
                android:showAsAction="never"
                android:title="Item in SubMenu 2"/>

        </menu>
    </item>

</menu>
Run Code Online (Sandbox Code Playgroud)

这是我的 menu.xml 文件。我需要在“item_thrid”中获取子菜单“menu_revice”。然后我在 onCreate()、onCreateOptionsMenu()、onOptionsItemSelected()、onPrepareOptionsMenu() 中尝试:

Menu MainMenu

//try 1
Menu subMenu = (Menu)findViewById(R.id.menu_revice); // nullPointerException

// try 2
SubMenu subMenu = (SubMenu)findViewById(R.id.menu_revice); // nullPointerException
Run Code Online (Sandbox Code Playgroud)

为什么会发生nullpointerException..?我不知道如何获得子菜单。请告诉我如何...谢谢。

android

3
推荐指数
1
解决办法
2437
查看次数

如何在运行时使用圆角更改LinearLayout的颜色?

我正在尝试绘制带有圆角的LinearLayout。

我想在运行时使用Colorfilter更改此布局的颜色。但ColorFilter不能应用布局,只能应用视图。

我不知道该怎么做到。

  1. 用圆角绘制LinearLayout
  2. 并在运行时更改布局的颜色

我怎样才能做到这一点?如果您能帮助我,我应该非常感激:)(对不起,英语简短,因为我是外国人:|)

android

2
推荐指数
1
解决办法
2099
查看次数

setColorFilter 在 Android 5.0 上不起作用

我在我的应用程序中使用 setColorFilter 来更改按钮的背景颜色。

这是我的代码:

// layout_main.xml
...
<Button
    android:id="@+id/btn_search"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/btn_round"
    android:text="button"/>
     ...
Run Code Online (Sandbox Code Playgroud)

=================================================== ==

// btn_round.xml
<?xml version="1.0" encoding="utf-8"?>
  <shape xmlns:android="http://schemas.android.com/apk/res/android"
     android:shape="rectangle">   
  <solid android:name="solid" android:color="#000000"/>
  <corners
     android:bottomRightRadius="10dp"
     android:bottomLeftRadius="10dp"
     android:topLeftRadius="10dp"
     android:topRightRadius="10dp"/>
  </shape>
Run Code Online (Sandbox Code Playgroud)

=================================================== ==

//MainActivity.java
...
Button btn_search = (Button)findViewById(R.id.btn_serach);
btn_search.getBackground().setColorFilter(Color.RED, Mode.MULTIPLY);
Run Code Online (Sandbox Code Playgroud)

我尝试了Mode.MULTIPLY和Mode.OVERLAY,结果是:

在此输入图像描述

我期望有 ColorFilter 的效果,但它似乎隐藏在按钮后面。

这段代码在 Android 4.4 上运行良好。但是当我在Android 5.0上尝试时,它不起作用。

我怎么解决这个问题?

android button

0
推荐指数
1
解决办法
4694
查看次数

标签 统计

android ×3

button ×1