問題タブ [statelistdrawable]

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 投票する
0 に答える
169 参照

android - コードで StateDrawableList を ImageButton に設定すると、xml 経由で設定した場合と結果が異なりますか?

次の結果があります:

結果

右ボタン:

xml_menu_button:

2 番目のボタンには、config と同様の xml があります。

パネルに動的に追加された左ボタン。したがって、コードを介してリソースを設定します。

Panel はカスタム ViewGroup です。レイアウトの境界をオンにすると、測定とレイアウトの段階が思い通りに進んだことがわかります。しかし、ご覧のとおり、画像サイズには違いがあります。すべてのボタンのサイズは同じ 70x58 ピクセルです。レイアウト ボタンのサイズは 77x77 です。何が間違っていますか?

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

c# - onCreateDrawableState は呼び出されません

全て、

オーバーライドする ViewGroup サブクラスがありますOnCreateDrawableState()(Xamarin.Android は C# にあるため、パスカル ケーシングを許してください)。

ただし、私のオーバーライドOnCreateDrawableState()は呼び出されません。さんに電話してみましRefreshDrawableState()DrawableStateChanged()RequestLayout()、およびInvalidate()

何も機能していないようです。これは方法です:

問題なく動作すると思いますが、呼び出されることはありません。ViewGroup 自体はListViewand/or にネストされてLinearLayoutいますが、何も役に立たないようです。

この関連する質問には、私にとって有効な回答がありません。

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

android - ボタンの押下状態を処理する

TextViewAndroid アプリケーションに、カウンター (iOS スタイル) を表す赤い円が付いたボタンがあります。

ここに画像の説明を入力

ボタンは、StateListDrawable押すと(視覚的に)少し下がるようになっています。付随する赤丸も下げてほしい。

ボタンが押された状態または押されていない状態 (通常の状態) になるタイミングを教えてくれるコールバックを見つけられれば幸いです。試してみbtn.setOnTouchListenerましたが、うまくいきません。たとえば、ボタンを押すと発火MotionEvent.ACTION_DOWNし、それは良いことです。しかし、ボタンから指をドラッグすると、通常の状態に戻りますが、指を離すまで MotionEvent.ACTION_UP は発生しません。

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

android - Android StateListDrawable バグ?

私はStateListdrawablexmlに持っています

を持つGridView 画像がありStateListDrawable、プログラムで描画可能な状態を変更しようとします

選択した画像は状態を変更しますが、彼の状態をクリックしても変更されません。申し訳ありませんが、私が欲しいものを説明できません。私の英語はもっと悪いです

私はそれを説明しようとします

mSelected.contains(photo) [state - active] -> [checked_on.jpg]クリックすると->最初から描画可能な状態が始まり、プログラムによる状態の変更を無視する場合

==編集==

アダプターアイテム --

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

android - 子ビューごとに duplicateParentState を true に設定する代わりに?

バックグラウンド

いくつかの特別な状態 (チェック/押されているなど) を持つレイアウトがあり、このレイアウトに基づいて独自のドローアブルを適用するようにその子を設定したいと考えています。

私は、それぞれの子 (およびおそらくすべての子孫) に対してduplicateParentStateを true に設定する代替手段を探しています。

私が試したこと

カスタム ビューに各子に設定する属性を持たせようとしましたが、この属性をすべての子に適用するメソッド呼び出しが見つかりませんでした。私が試した各メソッドでは、 getChildCount() に対して 0 を返すか、子自体には何もしません ( setDuplicateParentStateEnabled()を使用) 。

問題

ドキュメントにあるように、 setDuplicateParentStateEnabled を使用しても、必要な場合は何もしません:

注: 現在の実装では、ビューが ViewGroup に追加された後にこのプロパティを true に設定しても、まったく効果がない可能性があります。このプロパティは、常に XML から使用するか、このビューを ViewGroup に追加する前に true に設定する必要があります。

使用が遅すぎるようですが、子がまだ親に存在しないため、遅く呼び出す必要があります...

質問

各子の duplicateParentState の設定を回避し、親ビューに設定するだけでこの機能を実現するにはどうすればよいですか?

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

android - 開いたときにアクションバーのオーバーフロー メニューのドローアブルを変更する方法

メニューが開くまで、アクションバーのオーバーフロー項目のドローアブルを変更したい。オプションを選択すると(メニューが閉じられると)、デフォルトのドローアブルに戻りたいと思います。

別の「state_X」を試しましたが、誰も機能しません。助けてください。

ありがとう

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

android - 特定の状態の StateListDrawable からドローアブルを取得するにはどうすればよいですか?

ボタンの StateListDrawable の押された状態のドローアブルを取得する必要があります。

StateListDrawable を次のように取得します。

StateListDrawable drawable = button.getBackground();

しかし、次のステップでインターネットで役立つものを見つけることができません。

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

android - StateListDrawable の特定のドローアブルにカラー フィルタを適用する方法は?

StateListDrawableそれらに含まれるドローアブルに適用されたカラーフィルターを無視するようです。例えば:

ビューの背景に適用sldすると、ビューの背景が押されたときに真っ赤になることが予想されます。pressedState代わりに、フィルタが適用されていない場合の色である緑色に変わります。