2012-02-17 4 views

ответ

8

Смотрите раздел под названием Государственный Список в этом кусочке документации ... Drawable Resources.

Вы можете определить два разных файла Button xml для прозрачного состояния «по умолчанию», а другое - кнопкой «Красный» для вашего «нажатого» состояния. Затем вы определяете selector, который переключает доступные ресурсы в разных состояниях.

РЕДАКТИРОВАТЬ: В соответствии с комментарием Devunwired ресурс списка состояний цвета, вероятно, более подходит для изменения цвета, а не для самого выделенного.

+6

+1 потому что этот ответ в основном правильный. Я хочу добавить, однако, что вы можете изменить свойство 'android: textColor' так же, как извлекаемый фон, используя списки состояния цвета: http://developer.android.com/guide/topics/resources/color-list -resource.html – Devunwired

+0

Doh! Да, конечно. Я должен был включить ссылку на это тоже - у меня просто оказалось, что другая ссылка была добавлена ​​в закладки, так что это было под рукой. – Squonk

1

Вы должны сделать это в своем коде. Попробуйте это:

mBtn = ((Button) findViewById(R.id.button1)); 
    mBtn.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      mBtn.setTextColor(Color.RED); 
     } 
    }); 

Declare:

private Button mBtn; 
30

Да, вы можете сделать это так:

макет/main_layout.xml:

..... 
    <Button 
     android:id="@+id/button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="bonjour !" 
     android:textColor="@color/button_text_color" 
    /> 
..... 

цвет/button_text_color.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:color="#c0c0c0" android:state_pressed="true"/> 
    <item android:color="#ffffff"/> 
    </selector> 
+1

где именно вы меняете цвет текста? вы играете с фоном, но не цвет текста –

+1

Не '@ drawable/button_text_color', а' @ color/button_text_color'. – CoolMind

Смежные вопросы