我正在使用RecyclerView Android與左/右消息框創建聊天行。我想將重力設置爲RecyclerView的項目。通常情況下,我將itemView投射到LinearLayout,然後爲它設置ParamLayout重力。但是如果使用RecyclerView,將它轉換爲LinearLayout似乎是不對的。它會返回RecyclerView.LayoutParams。因爲:以編程方式爲RecycerView Android中的項設置重力
RecyclerView的子項的LayoutParams子類。我們鼓勵自定義佈局 創建它自己的此類 LayoutParams類的子類,以存儲有關佈局的任何其他必需的每個子視圖的元數據 。
而我找不到用RecyclerView.LayoutParams設置引力的方法: 無論如何,有沒有人可以在RecyclerView中找到引力項目的方式?請給我建議。
----------- POST SOLUTION ------------------
// 1。的RecyclerView
<LinearLayout
android:id="@+id/id_grandparent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:divider="@android:color/transparent"
android:gravity="left"
android:orientation="vertical">
<LinearLayout
android:id="@+id/id_llparent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_customer_feedback_left"
android:gravity="left"
android:orientation="vertical">
</LinearLayout>
// 2名兒童。 OnBindView()
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params = setLayoutParamsForParent(params, item.isPosition());
holder.llParentLayout.setLayoutParams(params); //corresponding to id_llparent ID
// 3。
private LinearLayout.LayoutParams setLayoutParamsForParent(LinearLayout.LayoutParams params, boolean position) {
params.gravity = position ? Gravity.RIGHT : Gravity.LEFT;
return params;
}
問題解決。 – 2015-04-03 04:44:51