Подтвердить что ты не робот

Android: как создать слайд (вкл./Выкл.)

Я хотел бы создать кнопку слайда (= что-то в качестве переключателя) с двумя состояниями: вкл. и выкл., чтобы пользователь мог нажать кнопку и сдвинуть ее, чтобы изменить состояние (что-то похожее на слайдер разблокировки, но не перекрещивается экран). У вас есть идеи, как это сделать? Я действительно пытался найти ответ, но я не добился успеха.

Спасибо большое!

4b9b3361

Ответ 1

Похоже, что Компонент Switch - лучшее решение, если ваш целевой SDK выше 4.0 (Ice Cream Sandwich). Так что для тех, кто столкнется с одной и той же проблемой, посмотрим на нее.:)

Ответ 2

//в вашем дизайне макета ниже строки

<RelativeLayout android:layout_width="wrap_content" android:id="@+id/rl_onoff"
    android:layout_height="wrap_content">
<ImageView android:id="@+id/on_btn" android:layout_width="80dp"  android:layout_height="40dp" android:src="@drawable/on_btn" android:visibility="visible"></ImageView>
<ImageView android:id="@+id/off_btn" android:layout_width="80dp"  android:layout_height="40dp" android:src="@drawable/off_btn" android:visibility="invisible"></ImageView>
   </RelativeLayout>

//в вашей деятельности вызовите это

ImageView mNotification_on_btn=(ImageView)findViewById(R.id.on_btn);
ImageView mNotification_off_btn=(ImageView)findViewById(R.id.off_btn);

    mNotification_on_btn.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mNotification_on_btn.setVisibility(View.GONE);
                mNotification_off_btn.setVisibility(View.VISIBLE);
            }
        });
    mNotification_off_btn.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mNotification_off_btn.setVisibility(View.GONE);
                mNotification_on_btn.setVisibility(View.VISIBLE);
            }
        });

//это переключится как стиль iphone при выключенной кнопке переключения enter image description hereenter image description here

Ответ 3

Это можно сделать с помощью флажка или ToggleButton. Ниже приведен пример

xml файл

 <CheckBox
        android:id="@+id/check_on_of"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:button="@drawable/chec_box_on_off"
       />

выталкиваемый файл chec_box_on_off

 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/check_box_on" android:state_checked="true"/>
<item android:drawable="@drawable/check_box_off" android:state_checked="false"/>
</selector>

у вас появится кнопка включения, а также вы можете проверить, включен или нет флажок.

код java

 CheckBox check = (CheckBox)findViewById(R.id.check_on_of);
 check.isChecked();

Аналогично, вы также можете достичь этого с помощью ToggleButton.