0

bg ドローアブルを制御するセレクター付きの bg が割り当てられたボタンがあります (以下を参照)。ボタンが押された後にアイテムが持続する状態が見つからないようです。現在/最後に押されたボタンにそれに応じて画像を割り当てることができる状態を探していることを明確にするため。

これを行う方法を知っている人はいますか?

<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:constantSize="true"
    android:dither="false"
    android:variablePadding="false">
    <item android:drawable="@drawable/option_button_yellow" android:state_pressed="true"/>
    <item android:drawable="@drawable/option_button_yellow" android:state_focused="true"/>
    <item android:drawable="@drawable/option_button_white"/>
</selector>
4

3 に答える 3

1

セレクターでToggleButton使用できるaを使用します。state_checked他の何かがクリックされたときにボタンのチェックを外したい場合は、内部に ToggleButtons を含む RadioGroup (または他のビュー) を使用します。onXXX()イベントを自分で管理する必要があります。ここに例があります。

于 2013-09-11T04:32:06.933 に答える
0

次のようなものを探しているかもしれません。

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/btn_state_highlighted" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/btn_state_highlighted"/>
<item android:drawable="@drawable/btn_state_normal" />
</selector>

btn_state_highlighted と btn_state_normal は、ボタンのそれぞれの状態の画像です。

于 2013-09-11T04:30:08.383 に答える
0

こんにちは、最後の質問についてよくわからなかったので、自分で解決策を見つけたかもしれません。一度クリックすると変更された bg イメージを保持し、ボタンの残りの部分をデフォルトの bg イメージに戻す、相互に排他的なボタンのセットを探していました。ボタンをラジオボタンに置​​き換え、その親をラジオグループに設定することで、これを行うことができたようです。さらに、xml ドローアブル セレクターを変更して、state_checked = "true" アイテムを含めるだけです。ただし、ボタンを削除しているときに、カスタム bg to radio ボタンにアラインされたテキストを含めようとして問題が発生しています ( android:button="@nul" を設定)。これはアライメントを台無しにするようです。何かご意見は?

レイアウト

<RadioGroup android:id="@+id/options" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"  android:paddingTop="@dimen/option_button_layout_top_margin" android:paddingBottom="@dimen/option_button_layout_bottom_margin">

        <RadioButton android:id="@+id/option_skill" android:text="@string/option_skill" style="@style/option_button"/>
        <RadioButton android:id="@+id/option_item" android:text="@string/option_item" style="@style/option_button" android:layout_marginLeft="@dimen/option_button_spacing"/>

    </RadioGroup>

style.xml

<style name='option_button'>
        <item name="android:layout_width">@dimen/option_button_size</item>
        <item name="android:layout_height">@dimen/option_button_size</item>
        <item name="android:button">@null</item>
        <item name="android:background">@drawable/option_button</item>
        <item name="android:onClick">option_onclick</item>
</style>

ドローアブル

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:constantSize="true"
    android:dither="false"
    android:variablePadding="false">
    <item android:drawable="@drawable/option_button_yellow" android:state_pressed="true"/>
    <item android:drawable="@drawable/option_button_yellow" android:state_checked="true"/>
    <item android:drawable="@drawable/option_button_white"/>
</selector>
于 2013-09-11T04:45:44.560 に答える