如何添加菜单项仅适用于调试构建类型

时间:2019-05-14 10:21:32

标签: android

在我的build.gradle中,我必须构建类型: -调试 -发布

在我的anroid应用中,我有一个菜单项:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="md.factura.app.cart.CartActivity" >

    <item
        android:id="@+id/itemRefresh"
        android:icon="@drawable/ic_ac_refresh"
        android:title="@string/check_state"
        app:showAsAction="always"/>

</menu>

现在,我需要再添加一个菜单项,仅适用于调试版本类型

我该怎么做?

1 个答案:

答案 0 :(得分:2)

在xml中添加所有菜单项

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="md.factura.app.cart.CartActivity" >

    <item
        android:id="@+id/itemRefresh"
        android:icon="@drawable/ic_ac_refresh"
        android:title="@string/check_state"
        app:showAsAction="always"/>

    <item
        android:id="@+id/menuItem1"
        android:icon="@drawable/ic_menu_item_1"
        android:title="@string/menu_item_1"
        android:visible="false"
        app:showAsAction="always"/>

</menu>

在您的活动中

override fun onCreateOptionsMenu(menu: Menu?): Boolean {
    menuInflater.inflate(R.menu.your_menu, menu)
    val menuItem1: MenuItem = menu?.findItem(R.id.menuItem1)

    // Use this flag to check if DEBUG
    if (BuildConfig.DEBUG) { menuItem1?.isVisible = true }

    return true
}