問題タブ [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 - XML ドローアブルのパラメータ化
ボタンのファミリーを作成したい。色を除いて、それらはすべて同じように見えます。これを行う強引な方法は、レイアウトをコピーして N 個のファイルに貼り付け、それぞれの色を変更することです。
これを達成するためのよりエレガントな方法は何ですか? @color/round_green_button_pressed_background
以下のサンプル コードでは、との代わりに別の色を使用したいと考えて@color/round_green_button_unpressed_background
いますが、他のすべては 1 つの場所にとどまることが理想的です。
これをプログラムで行うのは、ファイルをコピーして貼り付けるよりもさらに悪いように思われるため、純粋な XML ベースのレイアウトを含む答えがあることを願っています。
サンプル コード: button_green.xml
.
android - Android StateListDrawable の押された状態は常に最後に追加されたものを表示します
カスタムボタンがあり、プログラムで押されたデフォルトの色を変更しました。
}
次に、このボタンを、Linearlayout を内部に持つアクティビティに追加しました。
}
私の問題は、3 つのボタンすべてのデフォルトのストロークの色が異なりますが、押されたストロークの色が常に最後に追加されたボタンの色になることです。
総括する;
千の言葉よりも二つの絵:)
android - 状態リスト ドローアブルから特定のドローアブルを取得する
ステート リスト ドローアブルがあり、ステート リスト ドローアブルから特定のドローアブルを取得したい:
次のように、キーごとに正しい描画可能な状態を選択します。
現在、状態は次のように定義されています。
今私の質問は、各状態の正しいドローアブルを抽出する方法ですか? ドローアブルの 9patch パディングを取得する必要があります。状態が 9patch で異なるパディングを持っている場合、一番上のドローアブルのパディングのみが取得され、キーごとにパディングを手動で設定したい (drawable.getPadding(rect)) .
android - 入力に基づいてプログラムで描画可能な状態を設定する
ボタンの代わりに使用しているカスタム ドローアブルがあります。たとえばcamButton
、ネイティブ カメラを開き、ユーザーが写真を撮れるようにします。
camButton
ドローアブルを白または緑にすることができるように、リソースが提供されています。これはどのようにcamButton
振る舞うべきかです:
1) デフォルトの無入力状態は白です。
2) 入力が提供されている状態は緑色です。つまり、ユーザーが写真を正常に撮影し、それを削除していない場合、drawable はこれを示すために緑色になります。
3) ボタンが白のときにボタンを押すと、ユーザーがボタンを離すまでボタンが緑に変わります。
4) 緑色のボタンを押しても何も起こりません。
以下は、selector
これに似たものをテストするためのものです。ただし、このセレクターは、ボタンが押されたときにのみボタンの色を変更します。上記の #1 と #3 には対応していますが、#2 と #4 には対応していません。
cam_selector.xml
:
これは、私のメイン レイアウトでのセレクターの実装方法です。
私のアプリでは、ブール値を使用して提供された入力があるかどうかをテストします。
camButton
質問: コード内のブール値に@drawable/cam_pressed
基づいて (または別の方法で)の状態を設定するにはどうすればよいですか?
不明な点がある場合、または追加情報が必要な場合はお知らせください。アドバイスをいただければ幸いです。ありがとう!
android - 実行時に StateListDrawable を使用するには?
一部のコードに問題があります。ColorPicker を作成したいDialogFragment
。現時点では、 aGridView
と a customを使用して、BaseAdapter
いくつかの色の形を示しています。各色にラウンドを使用しShapeDrawable
ます。デフォルト状態の色を設定するには、次のコードを使用します。
私の「ColorAdapter」のgetView()
それは私にとってはうまくいきます。
しかし、アイコンが押されたときにアイコンの色を変更したい。だから私はを使用しStateListDrawable
ます。
ただし、 のエントリごとに異なる色を使用しているためGridView
、実行時に状態の色を変更する必要があります。
ご覧のとおり、両方の状態に同じ描画可能リソースを使用しています。で行うように、1 つの状態の色を設定できるかもしれませんstates.getCurrent()
。
ColorFilter
また、輝度レベルを下げるために a を使用しようとしました。しかし、それをしようとすると、ImageView
押されたときに常に黒くなります。
誰もそれを行う方法を知っていますか?
android - RippleDrawable 内の StateListDrawable の TintList を変更する
範囲
RippleDrawable は内部にあるようですselector
。item
できます。
+
問題
セレクターのデフォルト状態の色を変更できませんDrawableCompat.setTintList
デフォルトのセレクターの状態は変更されません。それ以外はすべて問題ありません。
解決
問題が発生した理由 - 着色がどのように機能するかについての誤解。-ColorStateList
完全にロードする方が良い;
+
android - 有効および無効状態のセレクター ドローアブルを動的に作成する
ボタンのセレクターを動的に作成したい。ボタンが無効になっている場合 ( setEnable(false)
)、その色が変わるはずです。
java - API ライブラリからメソッドを変更/適応させる方法は?
Big Nerd Ranchのrecyclerview-multiselectライブラリを使用して、複数選択機能を提供しています。アプリ固有の問題はほぼ解決しましたが、かなり大きな問題が発生しました。が入っていて、カードを再作成する必要があるときはいつでも(少なくとも私が正しく理解していれば、実際にはそれが のポイントであるため、多くの場合)、次のエラーがスローされます。RecyclerView
CardViews
RecyclerView
SelectionMode
RecyclerView
論理的には、 StateListDrawable がCardView
の背景として設定される原因となっているソースにエラーを追跡しました。私が見つけたものは、このクラスのコメント セクションで要約されていました。次のように書かれています。
selectionModeBackgroundDrawable は、state_activated=true の場合に colorAccent テーマの色を表示し、それ以外の場合は何も表示しない StateListDrawable にデフォルト設定されます。
クラス内で、エラーの原因となっている が返されているSwappingHolder
場所を確認できます。StateListDrawable
また、CardViewEclairMr1.java
エラーで示唆されているように、 を調べると、エラーを最も直接的に引き起こしているメソッドを確認できます。
正直に言うと、BigNerdRanch ライブラリをいろいろ調べた後でも、どうすればよいかわかりません。私@Override
はStateListDrawable
. このエラーを修正するにはどうすればよいですか?