4

私のアプリケーションでは、左側にリストがあるデュアル ペイン レイアウトを使用しています。次の例のように、選択したリスト行の右側にインジケーターを追加したいと思います。

Gmail の例 リーダーの例

組み込み関数だと思いますが、ドキュメントが見つかりませんでした。これを実装する方法を知っている人はいますか?

4

3 に答える 3

0

これを行う簡単な方法は、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:

インジケータ 9 パッチ イメージ

于 2014-01-21T10:25:06.437 に答える
0

コードを見ないと断言できませんが、インジケーターが組み込み機能ではないことは確かです。カスタム ビューである可能性がありますが、 BitmapDrawableTextViewで説明されているように、複合ドローアブルを設定する可能性が最も高い です。

探しているメソッドは setCompoundDrawables() です。

于 2012-10-03T16:42:43.997 に答える
0

頭のてっぺんから、右側の背景の色に一致するインジケーターを追加して、シームレスに見えるようにします。シンプルなソリューション。

于 2012-10-03T17:23:47.293 に答える