問題タブ [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.
android - コードで StateDrawableList を ImageButton に設定すると、xml 経由で設定した場合と結果が異なりますか?
次の結果があります:
右ボタン:
xml_menu_button:
2 番目のボタンには、config と同様の xml があります。
パネルに動的に追加された左ボタン。したがって、コードを介してリソースを設定します。
Panel はカスタム ViewGroup です。レイアウトの境界をオンにすると、測定とレイアウトの段階が思い通りに進んだことがわかります。しかし、ご覧のとおり、画像サイズには違いがあります。すべてのボタンのサイズは同じ 70x58 ピクセルです。レイアウト ボタンのサイズは 77x77 です。何が間違っていますか?
c# - onCreateDrawableState は呼び出されません
全て、
オーバーライドする ViewGroup サブクラスがありますOnCreateDrawableState()
(Xamarin.Android は C# にあるため、パスカル ケーシングを許してください)。
ただし、私のオーバーライドOnCreateDrawableState()
は呼び出されません。さんに電話してみましRefreshDrawableState()
たDrawableStateChanged()
。RequestLayout()
、およびInvalidate()
。
何も機能していないようです。これは方法です:
問題なく動作すると思いますが、呼び出されることはありません。ViewGroup 自体はListView
and/or にネストされてLinearLayout
いますが、何も役に立たないようです。
この関連する質問には、私にとって有効な回答がありません。
android - ボタンの押下状態を処理する
TextView
Android アプリケーションに、カウンター (iOS スタイル) を表す赤い円が付いたボタンがあります。
ボタンは、StateListDrawable
押すと(視覚的に)少し下がるようになっています。付随する赤丸も下げてほしい。
ボタンが押された状態または押されていない状態 (通常の状態) になるタイミングを教えてくれるコールバックを見つけられれば幸いです。試してみbtn.setOnTouchListener
ましたが、うまくいきません。たとえば、ボタンを押すと発火MotionEvent.ACTION_DOWN
し、それは良いことです。しかし、ボタンから指をドラッグすると、通常の状態に戻りますが、指を離すまで MotionEvent.ACTION_UP は発生しません。
android - Android StateListDrawable バグ?
私はStateListdrawable
xmlに持っています
を持つGridView
画像がありStateListDrawable
、プログラムで描画可能な状態を変更しようとします
選択した画像は状態を変更しますが、彼の状態をクリックしても変更されません。申し訳ありませんが、私が欲しいものを説明できません。私の英語はもっと悪いです
私はそれを説明しようとします
mSelected.contains(photo) [state - active] -> [checked_on.jpg]
クリックすると->最初から描画可能な状態が始まり、プログラムによる状態の変更を無視する場合
==編集==
アダプターアイテム --
android - 子ビューごとに duplicateParentState を true に設定する代わりに?
バックグラウンド
いくつかの特別な状態 (チェック/押されているなど) を持つレイアウトがあり、このレイアウトに基づいて独自のドローアブルを適用するようにその子を設定したいと考えています。
私は、それぞれの子 (およびおそらくすべての子孫) に対してduplicateParentStateを true に設定する代替手段を探しています。
私が試したこと
カスタム ビューに各子に設定する属性を持たせようとしましたが、この属性をすべての子に適用するメソッド呼び出しが見つかりませんでした。私が試した各メソッドでは、 getChildCount() に対して 0 を返すか、子自体には何もしません ( setDuplicateParentStateEnabled()を使用) 。
問題
ドキュメントにあるように、 setDuplicateParentStateEnabled を使用しても、必要な場合は何もしません:
注: 現在の実装では、ビューが ViewGroup に追加された後にこのプロパティを true に設定しても、まったく効果がない可能性があります。このプロパティは、常に XML から使用するか、このビューを ViewGroup に追加する前に true に設定する必要があります。
使用が遅すぎるようですが、子がまだ親に存在しないため、遅く呼び出す必要があります...
質問
各子の duplicateParentState の設定を回避し、親ビューに設定するだけでこの機能を実現するにはどうすればよいですか?
android - 開いたときにアクションバーのオーバーフロー メニューのドローアブルを変更する方法
メニューが開くまで、アクションバーのオーバーフロー項目のドローアブルを変更したい。オプションを選択すると(メニューが閉じられると)、デフォルトのドローアブルに戻りたいと思います。
別の「state_X」を試しましたが、誰も機能しません。助けてください。
ありがとう
android - 特定の状態の StateListDrawable からドローアブルを取得するにはどうすればよいですか?
ボタンの StateListDrawable の押された状態のドローアブルを取得する必要があります。
StateListDrawable を次のように取得します。
StateListDrawable drawable = button.getBackground();
しかし、次のステップでインターネットで役立つものを見つけることができません。
android - StateListDrawable の特定のドローアブルにカラー フィルタを適用する方法は?
StateListDrawable
それらに含まれるドローアブルに適用されたカラーフィルターを無視するようです。例えば:
ビューの背景に適用sld
すると、ビューの背景が押されたときに真っ赤になることが予想されます。pressedState
代わりに、フィルタが適用されていない場合の色である緑色に変わります。