問題タブ [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 に答える
81 参照

android - XML ドローアブルのパラメータ化

ボタンのファミリーを作成したい。色を除いて、それらはすべて同じように見えます。これを行う強引な方法は、レイアウトをコピーして N 個のファイルに貼り付け、それぞれの色を変更することです。

これを達成するためのよりエレガントな方法は何ですか? @color/round_green_button_pressed_background以下のサンプル コードでは、との代わりに別の色を使用したいと考えて@color/round_green_button_unpressed_backgroundいますが、他のすべては 1 つの場所にとどまることが理想的です。

これをプログラムで行うのは、ファイルをコピーして貼り付けるよりもさらに悪いように思われるため、純粋な XML ベースのレイアウトを含む答えがあることを願っています。

サンプル コード: button_green.xml.

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

android - Android StateListDrawable の押された状態は常に最後に追加されたものを表示します

カスタムボタンがあり、プログラムで押されたデフォルトの色を変更しました。

}

次に、このボタンを、Linearlayout を内部に持つアクティビティに追加しました。

}

私の問題は、3 つのボタンすべてのデフォルトのストロークの色が異なりますが、押されたストロークの色が常に最後に追加されたボタンの色になることです。

総括する;

千の言葉よりも二つの絵:) デフォルト状態 押された状態 違うシチュエーション

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

android - 状態リスト ドローアブルから特定のドローアブルを取得する

ステート リスト ドローアブルがあり、ステート リスト ドローアブルから特定のドローアブルを取得したい:

次のように、キーごとに正しい描画可能な状態を選択します。

現在、状態は次のように定義されています。

今私の質問は、各状態の正しいドローアブルを抽出する方法ですか? ドローアブルの 9patch パディングを取得する必要があります。状態が 9patch で異なるパディングを持っている場合、一番上のドローアブルのパディングのみが取得され、キーごとにパディングを手動で設定したい (drawable.getPadding(rect)) .

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

android - 入力に基づいてプログラムで描画可能な状態を設定する

ボタンの代わりに使用しているカスタム ドローアブルがあります。たとえばcamButton、ネイティブ カメラを開き、ユーザーが写真を撮れるようにします。

camButtonドローアブルを白または緑にすることができるように、リソースが提供されています。これはどのようにcamButton振る舞うべきかです:

1) デフォルトの無入力状態は白です。

2) 入力が提供されている状態は緑色です。つまり、ユーザーが写真を正常に撮影し、それを削除していない場合、drawable はこれを示すために緑色になります。

3) ボタンが白のときにボタンを押すと、ユーザーがボタンを離すまでボタンが緑に変わります。

4) 緑色のボタンを押しても何も起こりません。

以下は、selectorこれに似たものをテストするためのものです。ただし、このセレクターは、ボタンが押されたときにのみボタンの色を変更します。上記の #1 と #3 には対応していますが、#2 と #4 には対応していません。

cam_selector.xml:

これは、私のメイン レイアウトでのセレクターの実装方法です。

私のアプリでは、ブール値を使用して提供された入力があるかどうかをテストします。

camButton質問: コード内のブール値に@drawable/cam_pressed基づいて (または別の方法で)の状態を設定するにはどうすればよいですか?

不明な点がある場合、または追加情報が必要な場合はお知らせください。アドバイスをいただければ幸いです。ありがとう!

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

android - 実行時に StateListDrawable を使用するには?

一部のコードに問題があります。ColorPicker を作成したいDialogFragment。現時点では、 aGridViewと a customを使用して、BaseAdapterいくつかの色の形を示しています。各色にラウンドを使用しShapeDrawableます。デフォルト状態の色を設定するには、次のコードを使用します。

私の「ColorAdapter」のgetView()

それは私にとってはうまくいきます。

しかし、アイコンが押されたときにアイコンの色を変更したい。だから私はを使用しStateListDrawableます。

ただし、 のエントリごとに異なる色を使用しているためGridView、実行時に状態の色を変更する必要があります。

ご覧のとおり、両方の状態に同じ描画可能リソースを使用しています。で行うように、1 つの状態の色を設定できるかもしれませんstates.getCurrent()

ColorFilterまた、輝度レベルを下げるために a を使用しようとしました。しかし、それをしようとすると、ImageView押されたときに常に黒くなります。

誰もそれを行う方法を知っていますか?

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

android - RippleDrawable 内の StateListDrawable の TintList を変更する

範囲

RippleDrawable は内部にあるようですselectoritemできます。

+

問題

セレクターのデフォルト状態の色を変更できませんDrawableCompat.setTintList

デフォルトのセレクターの状態は変更されません。それ以外はすべて問題ありません。

解決

問題が発生した理由 - 着色がどのように機能するかについての誤解。-ColorStateList完全にロードする方が良い;

+

0 投票する
3 に答える
1109 参照

android - 有効および無効状態のセレクター ドローアブルを動的に作成する

ボタンのセレクターを動的に作成したい。ボタンが無効になっている場合 ( setEnable(false))、その色が変わるはずです。

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

java - API ライブラリからメソッドを変更/適応させる方法は?

Big Nerd Ranchのrecyclerview-multiselectライブラリを使用して、複数選択機能を提供しています。アプリ固有の問題はほぼ解決しましたが、かなり大きな問題が発生しました。が入っていて、カードを再作成する必要があるときはいつでも(少なくとも私が正しく理解していれば、実際にはそれが のポイントであるため、多くの場合)、次のエラーがスローされます。RecyclerViewCardViewsRecyclerViewSelectionMode RecyclerView

論理的には、 StateListDrawable がCardViewの背景として設定される原因となっているソースにエラーを追跡しました。私が見つけたものは、このクラスのコメント セクションで要約されていました。次のように書かれています。

selectionModeBackgroundDrawable は、state_activated=true の場合に colorAccent テーマの色を表示し、それ以外の場合は何も表示しない StateListDrawable にデフォルト設定されます。

クラス内で、エラーの原因となっている が返されているSwappingHolder場所を確認できます。StateListDrawableまた、CardViewEclairMr1.javaエラーで示唆されているように、 を調べると、エラーを最も直接的に引き起こしているメソッドを確認できます。

正直に言うと、BigNerdRanch ライブラリをいろいろ調べた後でも、どうすればよいかわかりません。私@OverrideStateListDrawable. このエラーを修正するにはどうすればよいですか?