<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="40dp">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_select_member"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/et_search_member"
android:hint="搜索聯系人"
android:layout_width="0dp"
android:layout_weight="1"
android:textSize="16sp"
android:layout_gravity="center_vertical"
android:paddingLeft="@dimen/space_tiny"
android:textColor="@color/font_black"
android:layout_height="match_parent" />
</LinearLayout>
在添加或刪除數據后,比如
data.add()
adapter.notifyItemInsert()
執行下面的變更布局
// 獲取layoutParams
val lp = rv_select_member.layoutParams
// 獲取當前數據量
val itemCount = mSelectMemberAdapter.data.size
// 數量大于4的時候,固定寬度
if (mSelectMemberAdapter.itemCount > 4) {
lp.width = SizeUtils.dp2px(40F)*4
}else {
lp.width = SizeUtils.dp2px(40F)*itemCount
}
// 設置好layoutParams后,將recyclerview滾動到最后一個元素位置
rv_select_member.layoutParams = lp
rv_select_member.smoothScrollToPosition(mSelectMemberAdapter.data.lastIndex)