我想在其中设置4个项目的Horizontal RecyclerView。项目应出现在屏幕的中央。每个项目都有固定的高度和宽度。我想将所有项目放在中心并使我的RecyclerView match_parent。我实现的是使用wrap_content到RecyclerView。但是如果给予recycle_parent到recyclerView,则所有项目都从左侧不在中心。但是我希望屏幕中心的所有项目都带有match_parent recylcerView。
这是我正在做的事情:
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerDragDrop"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:layout_gravity="bottom|center_horizontal">
档案:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/llContainer"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="bottom"
android:gravity="bottom"
android:visibility="visible">
<ImageView
android:id="@+id/imgContainer"
android:layout_width="56dp"
android:layout_height="90dp"
android:layout_gravity="bottom"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:scaleType="fitXY"
android:src="@drawable/tube_delete"
android:visibility="visible" />
</LinearLayout>
爪哇:
final ContainerItemAdapter mAdapter = new ContainerItemAdapter(MainActivity.this, containers, this, mLayoutManager);
ItemTouchHelper.Callback callback =
new EditItemTouchHelperCallback(mAdapter);
mItemTouchHelper = new ItemTouchHelper(callback);
mItemTouchHelper.attachToRecyclerView(mRecyclerContainer);
mAdapter.setOnItemClickListener(new ContainerItemAdapter.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
showToastLay(position);
}
});
mRecyclerContainer.setAdapter(mAdapter);
使用上面的代码,我的所有项目都显示在屏幕中间,因为我的recyclerview位于中心并且具有wrap_content属性。
但为什么我需要我的RecyclerView match_parent?
我使用ItemTouchHelper类使用RecyclerView的拖放功能。现在,每当我拖动任何项目到recyclerview结束时,该项目从屏幕开始消失,或者我们可以说项目不拖动直到屏幕宽度。我希望我的项目可以拖动到屏幕宽度,或者只要项目达到recyclerview的宽度就应该停止拖动。如果我将匹配父项提供给我的recyclerview,那么拖动工作正常,但它显示屏幕左侧的所有项目不在中心,我希望我的所有项目都显示在屏幕的中心。
如果有任何解决方案,请告诉我。
谢谢!
因为我正在使用拖放
答案 0 :(得分:0)
尝试填充列的宽度的列项,同时将所有内容居中:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="180dp"
android:orientation="vertical"
android:padding="4dp">
<ImageView
android:id="@+id/movie_column_photo"
android:layout_width="80dp"
android:layout_height="120dp"
android:layout_gravity="center_horizontal"/>
<TextView
android:id="@+id/movie_column_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"/>
</LinearLayout>
它可以帮助你