私のアプリケーションでは、左側にリストがあるデュアル ペイン レイアウトを使用しています。次の例のように、選択したリスト行の右側にインジケーターを追加したいと思います。
組み込み関数だと思いますが、ドキュメントが見つかりませんでした。これを実装する方法を知っている人はいますか?
私のアプリケーションでは、左側にリストがあるデュアル ペイン レイアウトを使用しています。次の例のように、選択したリスト行の右側にインジケーターを追加したいと思います。
組み込み関数だと思いますが、ドキュメントが見つかりませんでした。これを実装する方法を知っている人はいますか?
これを行う簡単な方法は、9 パッチ イメージを使用することです。たとえば、デュアル ペインの効果を Theme.DeviceDefault.Light (API > 14) で再現したい場合は、セレクターを使用して、LinearLayout アイテムの Selected 状態で 9 パッチの背景画像を適用します。
選択可能なアイテムのレイアウトの例:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dp"
android:background="@drawable/activable_indicator_background"
android:gravity="center_vertical"
android:paddingRight="20dp">
//eventually other items...
</LinearLayout>
Drawable/activable_indicator_background.xml
:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true" android:drawable="@drawable/indicator" />
<item android:drawable="@android:color/transparent" />
</selector>
Drawable/indicator.9.png
:
コードを見ないと断言できませんが、インジケーターが組み込み機能ではないことは確かです。カスタム ビューである可能性がありますが、 BitmapDrawableとTextViewで説明されているように、複合ドローアブルを設定する可能性が最も高い です。
探しているメソッドは setCompoundDrawables() です。
頭のてっぺんから、右側の背景の色に一致するインジケーターを追加して、シームレスに見えるようにします。シンプルなソリューション。