Как изменить положение радиопереключателя в меню?

259
04 мая 2017, 12:38

Как сделать, чтобы переключатели отображались слева от наименования и уменьшить расстояние?

<?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); 
    }

Answer 1

Можно попробовать кастомизировать следующим образом:

<?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

READ ALSO
Что делать с кодировкой страниц?

Что делать с кодировкой страниц?

Работаю в BitrixСоздал сайт в кодировке UTF-8, затем скопировал на него шаблон, созданный в однобайтовой кодировке, в результате чего, все русские...

238
Вывод данных с формы на страницу

Вывод данных с формы на страницу

Имеется форма записи html а также ее обработчик который заносит введенные данные в бд mysql и выводит на экран

226