мне нужна кнопка ВКЛ / ВЫКЛ для включения / выключения нажатием кнопки, это возможно с помощью OnClickListner или любым другим способом? - PullRequest
0 голосов
/ 25 ноября 2011

как сделать кнопку с ВКЛ / ВЫКЛ, нажав на нее, она должна меняться, и вместе с тем она показывает Зеленый для ВКЛ, иначе КРАСНЫЙ. это возможно без графики или нужна графика? кто-нибудь пробовал, как это, пожалуйста, помогите мне?

Ответы [ 3 ]

3 голосов
/ 25 ноября 2011

ToggleButton делает то же самое.А вот учебник , который расскажет, как это использовать.

2 голосов
/ 25 ноября 2011

Вы можете использовать ToggleButton

Если вы используете вместо этого кнопку, вы можете сделать поле boolean m_isOn; в своем классе, а в OnClickListener проверить это поле и установить цвет кнопки (например, с помощью setColorFilter ()) и текст соответствующим образом.

Редактировать

Небольшой пример, если вы действительно хотите избежать ToggleButton и использовать drawables:

@Override
public void onClick(View v) {
    m_isOn ^= true;
    ((Button)v).getBackground().setColorFilter(m_isOn ? 0xFF00FF00 : 0xFFFF0000, PorterDuff.Mode.MULTIPLY);
    ((Button)v).setText(m_isOn ? "ON" : "OFF");
}
0 голосов
/ 25 ноября 2011

используйте ImageButton вместо кнопки и селектор в качестве изображения.этот XML-файл вы можете поместить в каталог для рисования

 <selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_pressed="true"
         android:drawable="@drawable/button_prev_active" /> 
   <item android:drawable="@drawable/button_prev_no_active" /> 

В макете сделайте следующее:

 <ImageButton android:id="@+id/btnPrev" 
        android:scaleType="fitXY" 
        android:padding="0px"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:onClick="prevClickHandler"
        android:src="@drawable/button_prev_selector"/>
...