問題タブ [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 投票する
2 に答える
716 参照

android - 選択したビューのデフォルト セレクター

質問はそれをすべて@android/drawable表していると思います:私が呼び出した場合、ビューの背景として設定できるデフォルトのセレクターはありますか:

Android のデフォルトの色を使用したいのですが、カスタム セレクターでは独自のドローアブルしか追加できません。これにはデフォルトのセレクターがありますか? または、そのためのデフォルトのドローアブルにアクセスして、自分のセレクターで使用できるようにすることはできますか?

試してみましandroid:background="?android:attr/selectableItemBackground"たが、電話してview.setSelected(true);も何も起こりませんでした。

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

android - ExpandableListView で親アイテムと子アイテムにカスタム セレクターを使用する

次のような展開可能なリストがあります。

ここに画像の説明を入力

オレンジ色のアイテムは子で、特定の親を押すと表示されます。青の項目は親です。このカスタム アダプターを使用して作成しました: (このソース コードはフォーラムのどこかで選びました)

これらはxmlファイルです:

list_item.xml

list_group.xml

これは私が実際のリストを指定した方法です:

これはボタンを押すためのセレクターです:

最近、アプリ全体の外観を変更しましたが、リスト内のアイテムにこれらの境界線を追加する前は、すべて問題ありませんでした。しかし今、私はセレクターがグループ項目に対してどのように動作するかを変更したいと考えています (まだ長方形を使用しています)。

どうすればこれを達成できますか? セレクターに配置するシェイプを使用してxmlドローアブルを作成することはできたと思いますが、親セレクターと子セレクターを分離するにはどうすればよいですか?

編集: 他のソース コードが必要な場合は、コメントを残してください。

進捗:

@Omarの助けを借りて、グループセレクターで機能するこのコードを作成できました。(しかし、2 つのスレッドを使用してセレクターが消える効果を達成するのはちょっとばかげており、アクティビティの静的参照を介してアクセスする必要がありました)

また、セレクター xml (上記) の最初の項目を変更することで、この進歩を達成できることもわかりました。セレクターのxmlで子セレクターを指定する方法はありますか?

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

android - Android - バックグラウンド セレクターの状態をプログラムで設定する

EditText と ImageView を含む線形レイアウトがあります。EditText に @null 背景を指定し、LinearLayout に次の背景を指定しました。

全体が 1 つのウィジェットのように見えるようにします。EditText がフォーカスを取得する/選択されると、線形レイアウトの背景のドローアブルを更新して、全体が選択されていることを示したいと思います。

Linear Layout の私のレイアウト XML:

これは、EditText がフォーカスされているときに LinearLayout の背景状態を変更しようとするために使用しているコードです。

FOCUSED_STATE_SET を使用するだけでなく、次のことも試しました。

上記のいずれも LinearLayout の背景を青い下線に変更していないようです。どんな助けでも大歓迎です!

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

android - ListView 内のカスタム チェック可能要素の初期状態「チェック済み」

カスタムの「チェック可能」要素を使用してチェックリストを作成しようとしています。リストを表示し、チェックボックス (ImageView) をチェックして、各チェックボックスの状態をデータベースに保存できます。

残念ながら、チェックリストを開くと、いくつかのチェックボックスをオンにしてチェックリストを初期化したいのですが、できません。うまくいきません。


スクリーンショット

チェックリストを開いたときの画面は次のとおりです。

すべてのチェックボックスがオフになっているチェックリストを表示する Android 画面

凡例:すべてのチェックボックスがオフになっているチェックリストを表示する Android 画面

メソッド .setEnabled(true/false) を使用して、(デバッグ目的で) さまざまな状態があることを視覚的に示しました。

基本的に、ユーザーとしてチェックボックスをオンにすると、次のようになります。

チェックボックスがオンになっている Android 画面

凡例:チェックボックスがオンになっている Android 画面


階層

  • ソース
    • com.checkit.app (パッケージ)
      • CheckableLinearLayout.java
      • TasksActivity.java
      • TasksAdapter.java <= (問題はこのファイルのどこかで解決できると思います)
      • [...]
  • 解像度
    • ドローアブル
      • ic_hideable_item.xml
    • drawable-mdpi
      • btn_check_off.png
      • btn_check_on.png
      • [...]
    • レイアウト
      • activity_tasks.xml
      • task_items.xml
      • [...]

コード

TasksAdapter.java

CheckableLinearLayout.java

ic_hideable_item.xml

activity_tasks.xml

task_items.xml


もっと

ここに私が言いたいことがいくつかあります:

  • checkboxGlobal.setEnabled(true);スクリーンショット (灰色のタイトル) でわかるように、完全に機能します。でもcheckboxGlobal.setChecked(true);効果はないようです(?)
  • 一度、試してみDrawable drawable = convertView.getResources().getDrawable(R.drawable.ic_hideable_item);ましたcheckboxImg.setImageDrawable(states);。チェックボックスをオンにしてチェックボックスを初期化することは完全に機能しますが、ボックスのチェックを外すことはできません。

編集 2014-03-12 :私のコードは、「Android Developers」Web サイトの公式コード サンプルに基づいています (プロジェクト「CustomChoiceList」を参照してください: http://developer.android.com/samples/CustomChoiceList/index. html )。

編集 2014-03-13 :読みやすくするために、不要なコードを削除します

よろしくお願いします。さらにコードが必要な場合は、お気軽にお問い合わせください。よろしく、トニー

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

android - Android カラー リスト セレクターをカスケードできますか?

次のように color_list_1 というカラー リストがあるとします。

color_list_2 という別のカラー リストを作成できるようにしたいと考えています。

これにより、色に color_list_1 を使用するコントロール Foo を作成できます。ここで、AmazingFoo というサブクラスを作成したいと思うかもしれません。これは、Foo と同じ外観を維持したいのですが、それに押された色も追加したいのです。

これを試してみましたが、color_list_2 を色として使用すると、color_list_1 内で状態が無視されるようです。これは、押された状態が機能することを意味します (color_list_2 に直接あるため) が、color_list_1 にフォールバックすると、フォーカスされた状態は常に false になるため、デフォルトの色が返されます。

color_list_1 の使用は完全に機能するため、コントロールの問題ではないことはわかっています。すべての状態が false を返すのは、別のカラーリスト内にカスケードした場合のみです。

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

android - StateListDrawable パディング

StateListDrawable のパディングに問題があります。私のスタイルの一部<selector>に対して、画像リソースを使用して参照を定義すると、9path 画像に間違ったパディングが設定されます。ところで、特定の画像を設定しました-すべて問題ありません。しかし、それ以外の場合、アンドロイドStateListDrawableは私のものを作成し、<selector>(ソースでデバッガーを使用して見たように) use メソッドによってパディングを取得します:

間違った値を返します(私の場合、nullまたは0ではありません)。このメソッドは、mVariablePadding 変数を使用します。

しかし、リソースで false に設定することはできません (何か間違ったことをしたのかもしれません)。

誰かがこの問題の解決策を知っていますか? ありがとう!

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

android - Android ImageView セレクターが機能しない

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

これは、ImageView に適用した方法です。

さて、問題は、ImageViewを押したときに、それに応じた状態の描画可能な画像が変化しないことです。他のwiddetでも試しましたが、うまくいきません。以前は同じ方法でこれを行っていたので、理由がわかりませんが、うまくいきます。

クリックされたときのイメージビューの状態を監視しました。

v.hasFocus() : false , v.isClickable() : true , v.isInTouchMode() : true , v.isEnabled() : true , v.isPressed() : true


私はひどい間違いを犯しました。white_small_down_arrow_v4 と white_small_up_arrow_v4 は実際には同じ方向を指しています。つまり、それらは同じ絵です。

したがって、セレクターが機能しないことがわかった場合、おそらく私の間違いは他の誰かを助けるでしょう。最初にすべきことは、状態のドローアブルが同じかどうかを確認することです....

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

android - Android: 相対レイアウト セレクターが機能しない

クリック時に相対的なレイアウトを強調表示するために、セレクター リソース xml で相対的なレイアウトを使用しています。ただし、クリックしても相対的なレイアウトは強調表示されません。以下に、対応するセレクター xml、レイアウト xml、およびドローアブルを配置しました。

レイアウト コード スニペット:

セレクター xml ファイル:

これで私を助けてください、

前もって感謝します。