ボタン内のテキストの色を変更しようとしています。
たとえば、白で塗りつぶされたボタンがあり、テキストは青です。ボタンをクリックすると、これら2つの色を入れ替えたいと思います(ボタン内のテキストは白になり、ボタンは青になります)。
私はこのようなことを試しました:
<item style="@style/ButtonText_Menue_Clicked" Android:drawable="@drawable/button_menue_default" Android:state_focused="true"></item>
<item style="@style/ButtonText_Menue" Android:drawable="@drawable/button_menue_default" ></item>
しかし、実際には何もしません。私がやりたいことをする方法はありますか、またはonclikイベントでいくつかのことをしなければなりません(しかし、「クリックがなくなった」ときに色を元に戻す方法に問題があります)
以下のように、テキストの色をres/color
にselector
リソースを作成し、res/drawable
にボタンselector
を作成します。
text_color.xml
<selector
xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item
Android:state_pressed="true"
Android:color="#800000" />
<item
Android:state_pressed="false"
Android:color="#4C5" />
</selector>
button_color.xml
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item
Android:state_pressed="true">
<shape Android:shape="rectangle">
<solid Android:color="#4C5"/>
</shape>
</item>
<item
Android:state_pressed="false">
<shape Android:shape="rectangle" >
<solid Android:color="#800000"/>
</shape>
</item>
</selector>
ボタンをレイアウトに追加します
<Button
Android:id="@+id/button1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Button"
Android:textColor="@color/text_color"
Android:background="@drawable/button_color"/>