如何在导航抽屉中添加复选框作为具有自定义样式的Android中的菜单项



>我在布局中创建了widgets_chkboxes文件 在菜单中创建小部件.xml文件
在此处输入代码

<CheckBox android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android" />
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:title="Filtered"/>
<item android:title="SortedBy">
<menu>
<item
app:actionLayout="@layout/widgets_checkboxes"
android:title="Low To High"/>
<item
app:actionLayout="@layout/widgets_checkboxes"
android:title="High To Low"/>
</menu>
</item>
</menu>

试试这个

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_check"
android:title="@string/action_check"
android:orderInCategory="200"
app:showAsAction="never"
android:visible="true"
android:checkable="true"/>
<item
android:id="@+id/action_check2"
android:title="@string/action_check"
android:orderInCategory="200"
app:showAsAction="never"
android:visible="true"
android:checkable="true"/>
<item
android:id="@+id/action_check3"
android:title="@string/action_check"
android:orderInCategory="200"
app:showAsAction="never"
android:visible="true"
android:checkable="true"/>
</menu>

现在您可以在代码中设置它:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
SharedPreferences settings = getSharedPreferences("settings", 0);
boolean isChecked = settings.getBoolean("checkbox", false);
MenuItem item = menu.findItem(R.id.action_check);
item.setChecked(isChecked);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_check) {
if(item.isChecked());{
// your code    or action 
}

}
return super.onOptionsItemSelected(item);
}

最新更新