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

android - 9-セレクターのパッチに黒い点が表示される

押したときにレイアウトの背景を変更したい。レイアウトは必ずしも同じ形ではないので、画像を中央に保つ9パッチの画像を作成しました。私の画像は次のようになります。

ここに画像の説明を入力してください

次に、セレクターxmlは次のようになります。

私がこのコードを持っていて、私の画像が9パッチではなかったとき、それは塗りつぶすために引き伸ばされました。画像を9パッチに変更しても、画像は通常の.pngファイルとして扱われます。隅やすべてに黒い点があります。

ここに画像の説明を入力してください

画像の9パッチ性が尊重されず、通常の.pngファイルとして扱われているのはなぜだろうと思います。

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

android - AndroidでTextViewの選択したアイテムでテキストの色を永続的に変更するにはどうすればよいですか?

TextView でキーを押すと、恒久的な色の変更が必要です。

res/color フォルダーにあるカラー セレクターは次のとおりです。

TextView では、私はそれを次のように参照します

それは正常に動作します。ユーザーが TextView アイテムを押して離したときに、色の変更を永続的にしたい。デフォルトでは、リリース時にデフォルトの色になります。

アップデート:

カラーセレクターを次のように変更しました

これは以前と同じように機能しています。私が追加しました

TextView のプロパティ。次に、選択プロパティの背景色が消えます。しかし、アイテムをクリックすると、テキストの色が永続的になります。なぜこれが起こるのかの手がかりはありますか?実際、リストビュー内にこのテキストビューがあります。背景色のプロパティは ListView からのものです。

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

android - テキストの色とサイズを設定するにはどうすればよいですか? (私はセレクターを使用します)

私のソースセレクター

スタイルの設定方法の例 - button_normal.xml

「シェイプ」でテキストのサイズと色をどのように設定しますか? セレクターのサイズと色を設定する別の方法はありますか?

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

android - 動的に作成された TableRow を選択時に強調表示する

編集テキストと画像ビューでテーブルを動的に埋めています。表の行が押されたときに表の行全体が強調表示されるようにします。

コード:

Drawable/table.xml

私はこの例外を得ました:

よろしくお願いします。具体的にお願いします

0 投票する
4 に答える
415 参照

android - 画像を配置したら、画像ビューの角を丸くしないのはなぜですか?

ここに私のレイアウトコードがあります:

roundp.xml

round.xml

ImageView に画像を配置しないと、角が丸い空の ImageView が表示されます。画像を配置すると、角が丸くなり、通常の長方形が画像とともに表示されます。この問題を解決するには?

どんな助けでも大歓迎です。

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

android - Android ListView の行の強調表示

問題の有効な解決策が見つからずに、ウェブ全体をグーグルで検索した後、この質問を投稿しています。他のいくつかの投稿で議論されていることは知っていますが、どれも問題を解決するのに役立ちませんでした。

選択した項目が強調表示される ListView を実装しました。行を選択すると強調表示され、myListView.setSelection(index) を使用すると強調表示されますが、レイアウト内の他のビューをクリックすると (ボタン、チェックボックス、ラジオボタンなど)ListViewは選択を失います。

リストビューの実装方法は次のとおりです。

標準の ListView を拡張しました

リストビューは非常に簡単な方法でレイアウトに追加されます

これがアダプターです

これは各行のレイアウトです (R.layout.skin_class_list)

selectable_listview_background_selector.xml

selectable_listview_textcolor_selector.xml

私が言ったように、これは完全に機能しますが、他のビューをクリックするとハイライトを保持できません。解決策を探して何日も探しましたが、何もうまくいかないようです。

編集:私はこの解決策を見つけました。私はもうセレクターを使用しません。ここで MyLabel は、いくつかの (この場合は関係のない) 機能を備えたカスタム TextView です。

私はまだより良いアプローチへの提案を待っています...いずれにせよ、これでうまくいきます:)

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

android - Android API レベル 10 でアクション モード (CAB) を使用しているときに、プレス時にリスト アイテムの背景を変更する方法

私が達成したいこと:

  • ユーザーが押したときにリスト項目が強調表示される
  • ユーザーがそれを押すのをやめると、リスト項目:
    • 押す前に選択されていなかった場合は、強調表示されたままになります
    • 押す前に選択されていた場合は、ハイライトを失います
  • 長いクリックは、ユーザーが押すのをやめたのと同じように動作します (以前の状態に応じてアイテムの背景を変更します)。
  • 特定のアイテムを押さずにリストをスクロールすると、どのアイテムも強調表示されません

詳細:

  • 私が読んだことについては、リストセレクターと状態android:state_activatedを使用して動作を実現できると思いますが、この状態は API レベル 11 で導入されました。私が探しているソリューションは API レベル 10 で動作する必要があります
  • クリックに依存するソリューション(onItemClick、onClick ...)は機能しないと思います。これは、ユーザーがプレスを開始したときではなく、プレスを停止した後にクリックがトリガーされるためです(押された状態のように)。android:state_pressedを使用してアイテムのハイライトを変更すると永続的ではなく (プレスが終了すると元に戻ります)、android:state_pressedで変更してクリック時に永続的にすると、ちらつきが発生します
  • API レベル 10 でそれを実現するアプリの良い例はTasksです。リスト内の項目をクリックまたはロングクリックするだけで、目的の動作を確認できます

それで、誰かがすでにそれを解決しましたか?Tasks アプリがどのようにそれを行うかについて何か考えはありますか?

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

android - セレクターアイテム android:state_xxx="false" vs 状態のないアイテム (デフォルト)

これら2つの違いは何ですか?ドキュメントによると、最初の項目の色は、状態が有効でない場合に使用され、2 番目の項目はデフォルトの色です。アイテムが有効になっていない場合、どの色が使用されますか?

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

android - これらのわずかに異なる状態のドローアブルとの動作の違いはありますか?

Q1)描画可能な元のListView状態を見ると、listSelector次のようなものがあります(例を簡略化するためにいくつかのコードを削除しました):

しかし、私は自分のアプリで次のようにしています。

これは同じ結果をもたらすようで、はるかに簡単です。最初のものが私自身のバージョンよりもうまくいく状況に気づきましたか?コードをできるだけ短くするために、何か重要なことを見逃していないことを確認したいだけです...

Q2)州のドローアブルが<item android:drawable="<TRANSPARENT>" android:state_window_focused="false"/>一番上にあるのですが、なぜ必要なのかわかりません。いつも少し戸惑いましたstate_window_focused…本当に必要ですか?

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

android - Androidで機能しない複数のアイテムのGridViewアイテムリストセレクター

写真のように長押しでセレクターを描きたいです。1つの項目を長押しすると、CABメニューがアクティブになります。ただし、リストセレクターインジケーターは、クリックすると1回消灯します。複数選択を許可するためにCABメニューがアクティブになるまで、リストセレクターをアクティブにします。そして、ダブルタップすると色が切り替わるはずです。このコードをクリックすると、ちらつきとして機能します。誰もが同じようなことに直面しましたか?この機能をもたらすためのハックはありますか?

複数選択のGridview:

ここに画像の説明を入力してください

OnCreateのGridViewsetchoice:

これは正常に機能しています。

CABメニューがアクティブ化された後、MultiChoiceModeListener()クラス内に同じコードを実装しようとしています。内部に同じコードをコピーしました

方法。しかし、ビューグループ内の要素にアクセスできません。しかし、私はGridView全体にアクセスできます。ただし、グリッド内の個々の子ではありません。

これが私のグリッドビューのレイアウトです。

GridViewの各アイテムは、次のレイアウトで構成されています。

これが私のlist_selector.xmlです:

どうすれば機能を実現できますか?私はこれで立ち往生しています。セレクターでいろいろな組み合わせを試してみました。しかし、私には何も機能していないようです。他に詳細を提供する必要がありますか?