Как сделать, чтобы переключатели отображались слева от наименования и уменьшить расстояние?
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="never" />
<group android:checkableBehavior="single">
<item
android:id="@+id/action_tiles"
android:orderInCategory="100"
android:title="@string/action_tiles"
app:showAsAction="never" />
<item
android:id="@+id/action_list"
android:orderInCategory="100"
android:title="@string/action_list"
app:showAsAction="never" />
</group>
</menu>
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
Можно попробовать кастомизировать следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="never" />
<group android:checkableBehavior="single">
<item
android:id="@+id/action_tiles"
android:orderInCategory="100"
android:title="@string/action_tiles"
app:showAsAction="never"
app:actionViewClass="my.package.MyCheckBox" <!-- внимание сюда -->
/>
<item
android:id="@+id/action_list"
android:orderInCategory="100"
android:title="@string/action_list"
app:showAsAction="never"
app:actionViewClass="my.package.MyCheckBox" <!-- внимание сюда -->
/>
</group>
</menu>
И написать свой класс my.package.MyCheckBox - очевидно он должен наследовать от CheckBox
Но предупрежу, что это путь героя, устланный тучей плохо документированных подробностей.
Так что удачного кодинга.
Update
Есть похоже способ попроще, применить:
app:actionLayout="@layout/my_check_layout"
и кастомизировать свой чекбокс на уровне xml
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости