Ответ 1
Похоже, что Компонент Switch - лучшее решение, если ваш целевой SDK выше 4.0 (Ice Cream Sandwich). Так что для тех, кто столкнется с одной и той же проблемой, посмотрим на нее.:)
Я хотел бы создать кнопку слайда (= что-то в качестве переключателя) с двумя состояниями: вкл. и выкл., чтобы пользователь мог нажать кнопку и сдвинуть ее, чтобы изменить состояние (что-то похожее на слайдер разблокировки, но не перекрещивается экран). У вас есть идеи, как это сделать? Я действительно пытался найти ответ, но я не добился успеха.
Спасибо большое!
Похоже, что Компонент Switch - лучшее решение, если ваш целевой SDK выше 4.0 (Ice Cream Sandwich). Так что для тех, кто столкнется с одной и той же проблемой, посмотрим на нее.:)
//в вашем дизайне макета ниже строки
<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 при выключенной кнопке переключения
Это можно сделать с помощью флажка или 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.