問題タブ [android-selector]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4867 参照

android - プログラムで作成され、TextColor に適用される android ColorStateList

コードで作成した ColorStateList を TextView の TextColor として適用しようとしています。問題は、xml で定義された ColorStateList を使用すると機能するが、コードで ColorStateList を作成すると機能しないことです。

ColorStateList を作成する方法は次のとおりです。

この方法でこれを TextView に簡単に適用します

動作しません。このxmlの使用

xmlでテキストの色を設定するか、このようにコードで動作します

Web で解決策を検索しましたが、この問題の原因が本当にわかりません。誰か助けてもらえますか?

ありがとうございました

0 投票する
1 に答える
833 参照

android - セレクターのドローアブル

に適用される Android スタイルとセレクターの次の定義がありますが、ListViewクリックしても灰色のグラデーションが適用されても効果がありません。クリックするとすぐに青色のグラデーションが表示されます。

この例の作成者は次のように書いています。

これをリスト セレクターに適用します。常に同じグラデーションを表示するのではなく、リスト項目が押されるたびにグラデーションの開始色をグレーから水色に変更する必要があります。2 つの異なるリスト セレクター (1 つはデフォルト状態用、もう 1 つは押された状態用) があるため、それらを別々のファイルに保持する必要があります。

誰かがそれを正しく表示する方法を説明できますか? または、何か不足していますか?
より一般的には、ディスプレイ画面に何が表示されると期待すべきですか? リスト項目をクリックすると、灰色のグラデーションから青色のグラデーションに滑らかに移行するようなものですか?

更新:これは著者が「見る」方法ですが、アイテムをクリックすると、写真の右側のようにしか見えません。作成者は、リスト内のすべてのアイテムをデフォルトで灰色にしたいと考えていると思いますか? または、この状態はリスト ビュー アイテムには適用されませんか?

list_item_default.xml -> GRAY GRADIENT

list_item_pressed.xml -> ブルーグラデーション

list_selector.xml

スタイル.xml

0 投票する
1 に答える
5686 参照

android - カスタムセレクター状態で CustomView を実装する方法は?

CustomView画像を表示するを作成したい。クリックすると、ビューの状態が変わります。ビューが表すことができる 3 つの状態(オフ、設定、未設定)が必要です。XMLのセレクターでこれを行いたいです。必ずしもカスタム セレクターである必要はありません。セレクターの 3 つの状態を再利用できます (状態の名前が異なっていてもかまいません)。

これを達成する良い方法はありますか?

0 投票する
0 に答える
200 参照

android - Android ListView は、単一の項目をクリックすると、リストビューのセレクターでクリックされたすべての項目を取得します

AmazingListView という ListView があり、この ListView にセレクターを割り当てます。たとえば、Android 4.1.2 では問題ありませんが、Android 2.3.6 ではアイテムをクリックすると、すべてのアイテムがクリックされたように表示されます。クリックイベントや指定メソッドの呼び出しでは問題ありません。これはセレクターに由来すると思います。リストビューとセレクターを下に置いています。助けていただければ幸いです。


そして、これはセレクターで指定された色です:

また、この「getAmazingView」メソッドが必要になる場合もあります。

クリックされていない場合: https://www.dropbox.com/s/iu3epknzutpa4jq/device-2014-02-21-175429.png

クリック時: https ://www.dropbox.com/s/xv9285pcb7wuzp9/device-2014-02-21-175449.png

いつ

ありがとう..

0 投票する
2 に答える
850 参照

android - GridView の選択がカスタム レイアウトで機能しない

アプリに次の項目レイアウトの GridView があります。

ユーザーがクリックした場合にアイテムを選択したいと思います。私はこのコードで試しました:

しかし、アイテムをクリックすると、背景がすぐに黄色に変わり、消えます。そのため、アイテムをクリックしている間はセレクターが機能しますが、選択はできません。理由はありますか?

0 投票する
1 に答える
3613 参照

android - Android GridView セレクタの問題

自分で作成したカスタム セレクターを使用してアプリケーションで StaggeredGridView を使用していますが、グリッドビューでアイテムを選択するとすべてのアイテムの色が緑色に変わるため、セレクターに何かひどく問題があるに違いありません。

グリッドビュー項目のコードは次のとおりです。

これは私のセレクタです:

これは私のアダプタークラスです:

そして私のフラグメントでは:

なぜそれが間違っているのかについてのアイデアはありますか?

0 投票する
5 に答える
75499 参照

android - ボタン - クリック時に背景色を変更

アクティビティには 8 つのボタンがあります。私が探しているのは、ボタンにはデフォルトの背景があり、ボタンをクリックすると背景色が他の色に変わるはずです。この部分はかなり簡単です。しかし、他のボタンをクリックすると、最初のボタンの背景色がデフォルトの色に戻るはずです。これが「セレクター状態」を使用して行われることは理解していますが、それを実装する方法がよくわかりません。それについて読めば読むほど、私は混乱します。

現在、私が持っているxmlは次のとおりです:ドローアブルフォルダー内

xml の drawable/image_border は、ボタンの形状を定義するために使用されます。以下はimage_border.xmlです

誰かが私が必要とするように動作するようにxmlを変更する方法を手伝ってもらえますか?

[編集1]

以下のすべての回答は、同様の種類のソリューションを指しています。これが私が行った変更です。しかし、それでも、ボタンを押すと、指定された色に変わりますが、すぐにデフォルトの色に戻ります。

button_background_blue.xml

image_border_blue.xml

何かご意見は?

0 投票する
0 に答える
743 参照

android - セレクター内のレイヤーリスト内の形状の色をプログラムで変更する

ボタンの背景が に設定されているshape drawable場合、 を呼び出すことでプログラムで実行できます (GradientDrawable) findDrawableByd(R.drawable.some_shape).setColor(someColor);

に設定されている場合はlayer-list drawable、呼び出して色を変更できます

もう一段深く行きたい。セレクター内に存在するレイヤーリスト内に存在する形状ドローアブルの色をプログラムで設定するにはどうすればよいですか?

上記のコード スニペットを使用すると、動作します。実際には非常にバグがあるように見えます。ボタンの色を順番に変更する複数のダイアログフラグメントを設定しています。最初の dialogFragment は常に適切に色付けされますが、残りは通常そうではありません。ボタンの背景がレイヤーリストに設定されている場合、すべてが完全に機能することを強調したいと思います。セレクターに設定すると、バグが発生します。