2016-11-24 2 views
1

が、私はこのお奨めは、単純な答えを持って知って見て行く:アンドロイドrecyclerview分割器はので、ここで、

これは、Androidアプリの「チャット」で有名なの画像です。私の質問は、赤で動作をシミュレートする方法です。すなわち、親の画面幅を取らずにrecycledviewアイテムのテキストビューに合わせて分割を開始する方法です。

enter image description here

私は以下のようにchatlist_divider.xml描画可能を作成しました:

<?xml version="1.0" encoding="utf-8"?> 
<inset xmlns:android="http://schemas.android.com/apk/res/android" 
     android:insetLeft="80dp" 
     android:insetRight="16dp"> 
    <shape> 
     <size android:height="1dp"/> 
     <padding 
      android:bottom="2dp" 
      android:left="8dp" 
      android:right="8dp" 
      android:top="2dp"/> 
     <solid android:color="@color/colorDivider"/> 
     <corners android:radius="48dp" /> 
    </shape> 
</inset> 

と、プログラムで次のようにそれを使用している:

mRecyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), R.drawable.chatlist_divider)); 

が、結果OFCはほど完璧ではありません上記の画像では、ImがinsetLeftの挿入図のプロパティで遊んでいるため、右に感じるまで:

enter image description here

これは最善の方法ですか?私は試行錯誤だけでなく、各リスト項目の膨らんだレイアウトの中で、TextViewsに適切かつ明確な位置合わせをしたいと思っていました。

(私も分周器をシミュレートするために、独自のレイアウトであるtextviews()以下<View>を作成することもできますが、その後どのように私はそれの.xml描画可能割り当てることができますか?)

任意の考え?

答えて

2

mRecyclerView.addItemDecorationを使用する必要はありません。

drawable xmlを背景として通常のViewとして仕切りを作成し、アイテムのレイアウトxmlに追加するだけです。

レイアウトのルートをRelativeLayoutにすると、ディバイダtoRightOf="@+id/some_other_view"を持つことができるので、アイテムの表示と適切に整列します。

<View 
    android:id="@+id/divider" 
    android:layout_width="match_parent" 
    android:layout_height="3dp" 
    android:layout_toRightOf="@+id/my_photo_view" 
    android:background="@drawable/chatlist_divider" /> 
+0

ありがとうございました。どのように背景属性を忘れることができますか。^_ ^ – anony

関連する問題