Я пытался настроить внешний вид кнопки переключения, но без успеха. Вот как я хочу выглядеть следующим образом:Android toggle button пользовательский внешний вид
Может кто-нибудь дать мне учебник?
Я пытался настроить внешний вид кнопки переключения, но без успеха. Вот как я хочу выглядеть следующим образом:Android toggle button пользовательский внешний вид
Может кто-нибудь дать мне учебник?
Создать селектор
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_da" android:state_checked="true"/>
<item android:drawable="@drawable/btn_nu"/>
</selector>
и использовать его в качестве фона для вашего ToggleButton.
Я продолжал пробовать это, но код показывает ошибку или ничего не делает, не могли бы вы пожалуйста, будьте более полными? Что именно мне нужно делать? Я вроде как новичок. –
Думаю, вам нужно определить пользовательский фон для вашей кнопки. Взгляните на Руководство разработчика по настройке Button's background.
Однако, на третьем этапе, создать новый файл XML в res/drawable/ directory
Используйте этот Xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_da"
android:state_checked="true" />
<item android:drawable="@drawable/button_nu" />
</selector>
Элемент android:state_checked="true"
является то, что определяет, что состояние, как проверенного фоне.
Дайте мне знать, если это сработает для вас.
создать toggle_selector.xml в разрешении/вытяжке
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/toggle_on" android:state_checked="true"/>
<item android:drawable="@drawable/toggle_off" android:state_checked="false"/>
</selector>
применить селектор к вашему тумблера
<ToggleButton
android:id="@+id/chkState"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/toggle_selector"
android:textOff=""
android:textOn=""/>
Примечание: для удаления текста я использовал следующие в коде выше
textOff=""
textOn=""
Я не знаю, было ли это лучшим решением, но оно отлично работало для меня:
1.- Решите, насколько вы хотите, чтобы кнопка переключения. В моем случае ширина 56dp и высота 76dp.
2.- Создать значок набор 56px-76px для MDPI, 84px-113px ИПЧРА, то же самое для xhdpi и xxhdpi
3.- перемещать иконки в соответствующей папке вытяжки. В моем случае 20 иконок 5 в каждой папке, с именем ic_name1_on, ic_name1_off [...] ic_name5_off
4.- Создайте следующие XML-файлы в новую папку под названием Drawable (если он еще не существует):
5.- В ic_name1_toggle.XML-код должен быть:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_checked="false"
android:drawable="@drawable/ic_name1_off" />
<item
android:state_checked="true"
android:drawable="@drawable/ic_name1_on" />
</selector>
6.- В ic_name1_toggle_bg.xml коде должно быть:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+android:id/background"
android:drawable="@android:color/transparent" />
<item android:id="@+android:id/toggle"
android:drawable="@drawable/ic_name1_toggle" />
</layer-list>
7.- Наконец в вашем layout.xml:
<ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="56dp"
android:layout_height="76dp"
android:background="@android:color/transparent"
android:button="@drawable/ic_name1_toggle_bg"
android:textOff=""
android:textOn="" />
см. Http://stackoverflow.com/questions/9752760/slide-toggle-for-android –
не то, что я ищу Мне нужно что-то для 2.2 –
Как сказал CWAC, Android - это с открытым исходным кодом, просто перейдите в источник 4 и воспользуйтесь функцией, которая вам нравится в вашем приложении, до 2.X –