1

こんにちは、リスト項目を選択すると背景色が変化し、YouTube アプリケーションに表示されるように、リスト項目の左側に単色の垂直バーも表示されるアプリケーションに取り組んでいます。

以下に画像を添付します。 ここに画像の説明を入力

リストビュー項目のクリックで背景色を変更する方法は知っていますが、YouTube アプリケーションに表示される赤い線を追加するにはどうすればよいですか。このために、アイテムクリックイベントで表示されるリストビューアイテムxmlにビューを追加することを考えました.しかし、その場合、他のリストビューアイテムからビューを非表示にするにはどうすればよいですか? または、これを実装する他の簡単な方法はありますか?

4

3 に答える 3

0

バックグラウンド セレクターを実装する必要があります。これを行うには、行の状態 (選択、フォーカスなど) ごとに異なるドローアブルを含む XML ファイルを作成します。その方法については、多くの例を見つけることができます。例えば:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/pressed"/> <!-- pressed -->
    <item android:state_focused="true" android:drawable="@drawable/focused" /> <!-- focused -->
    <item android:drawable="@drawable/default"/> <!-- default -->
</selector>

その後、行の背景の Drawable をこのファイルに設定するだけです。

于 2013-07-10T05:26:36.443 に答える
0

そのようなリスト ビューを作成するには、カスタム アダプターを作成する必要があります。そこに存在するすべての要素を含むビューを作成します。カスタム ArrayListAdapter を使用してリストを作成し、背景色に背景セレクターを使用します。

また、垂直バーのデフォルト ビューは非表示になり、選択範囲に表示されます。ビューが閉じられた後でも選択を追跡するパブリック静的リストを作成します。

于 2013-07-10T05:33:39.157 に答える