如何在 Android 中切换 XML 中的 Bool 值
How to Toggle the Bool value in XML in Android
在我的 android 应用程序中,我定义了一个布尔值:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="booleanvalue">false</bool>
</resources>
我用它来显示或隐藏我的菜单功能 menu.xml:
<item
android:id="@+id/menu1"
android:icon="@drawable/menu_on"
android:showAsAction="ifRoom"
android:title="@string/show_menu1"
android:visible="@bool/booleanvalue"
/>
但是在不改变原值的情况下,是否可以得到menu.xml中布尔值的负值呢?
我想要它,因为有另一个菜单项在显示此菜单 1 时被隐藏。
您可以在 activity 中覆盖 onPrepareOptionsMenu
或 onCreateOptionsMenu
并设置 menuItem.setVisible(true/false)
你不能在XML文件中否定它,在资源文件中也不能。
但是当执行应该隐藏一个菜单并显示另一个菜单的操作时,您可以使用 getVisibility()
and/or setVisibility()
方法以编程方式处理。
可见性切换机制示例:
if(menu1.getVisibility() == View.VISIBLE) menu1.setVisibility(View.GONE);
else menu1.setVisibility(View.VISIBLE);
if(menu2.getVisibility() == View.VISIBLE) menu2.setVisibility(View.GONE);
else menu2.setVisibility(View.VISIBLE);
在我的 android 应用程序中,我定义了一个布尔值:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="booleanvalue">false</bool>
</resources>
我用它来显示或隐藏我的菜单功能 menu.xml:
<item
android:id="@+id/menu1"
android:icon="@drawable/menu_on"
android:showAsAction="ifRoom"
android:title="@string/show_menu1"
android:visible="@bool/booleanvalue"
/>
但是在不改变原值的情况下,是否可以得到menu.xml中布尔值的负值呢?
我想要它,因为有另一个菜单项在显示此菜单 1 时被隐藏。
您可以在 activity 中覆盖 onPrepareOptionsMenu
或 onCreateOptionsMenu
并设置 menuItem.setVisible(true/false)
你不能在XML文件中否定它,在资源文件中也不能。
但是当执行应该隐藏一个菜单并显示另一个菜单的操作时,您可以使用 getVisibility()
and/or setVisibility()
方法以编程方式处理。
可见性切换机制示例:
if(menu1.getVisibility() == View.VISIBLE) menu1.setVisibility(View.GONE);
else menu1.setVisibility(View.VISIBLE);
if(menu2.getVisibility() == View.VISIBLE) menu2.setVisibility(View.GONE);
else menu2.setVisibility(View.VISIBLE);