Sim*_*mon 1 android android-recyclerview android-framelayout
希望这张照片可以解释一下我想做什么.请记住,textview和recyclerview都是FRAMELAYOUT的ViewGroup.
我想match_parent对FRAMELAYOUT进行回收查看.该textview显示单词"邻居"必须在recyclerview的顶部.您无法从图像中看到它,但是它textview具有alpha0.5,因此它是半透明的.
我想要做的是让recyclerview viewholders你在图片中看到的深绿色项目,在高度下开始textview.这样,当用户滚动时recyclerview,项目将在半透明下正常滚动textview.
有没有办法确保recyclerview中的第一个项目从recyclerview的顶部(即textview的高度)稍微开始,以便可以实现这种效果?
小智 6
仅尝试第一项的项目装饰.
public class VerticalSpaceItemDecoration extends RecyclerView.ItemDecoration {
private final int mVerticalSpaceHeight;
public VerticalSpaceItemDecoration(int mVerticalSpaceHeight) {
this.mVerticalSpaceHeight = mVerticalSpaceHeight;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent,
RecyclerView.State state) {
if (parent.getChildAdapterPosition(view) == 1) {
outRect.top = mVerticalSpaceHeight;
}
}
}
Run Code Online (Sandbox Code Playgroud)
用法
RecycleView recyclerView = (RecyclerView) rootView.findViewById(R.id.fragment_home_recycler_view);
LinearLayoutManager mLinearLayoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(mLinearLayoutManager);
//add ItemDecoration
recyclerView.addItemDecoration(new VerticalSpaceItemDecoration(TOP_ITEM_SPACE));
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
你可以尝试一下!! android:clipToPadding="false"
如果填充不为零,则定义ViewGroup是否剪切其子节点并将任何EdgeEffect调整大小(但不剪切)到其填充.默认情况下,此属性设置为true.
<android.support.v7.widget.RecyclerView
android:id="@+id/rv"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:clipToPadding="false"
android:layout_width="match_parent"
android:layout_height="match_parent">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3982 次 |
| 最近记录: |