Android 具有多种视图类型的RecyclerView中的视差滚动标题
这个标题很好地解释了我的需要。我有Android 具有多种视图类型的RecyclerView中的视差滚动标题,android,Android,这个标题很好地解释了我的需要。我有RecyclerView和适配器,有N个视图类型。我尝试了3种不同的第三方库(例如),它们应该支持视差标题视图。它们似乎都不工作,也不需要不适用于我的用例的自定义适配器。也许他们在内部玩视图类型 是否有一些库支持适配器和视差滚动标题中的多种视图类型 谢谢。您可以使用项目装饰为特定项目添加视差背景。这只是一些简单的代码,可以在很多方面进行改进 public class ParallaxHeaderDecoration extends RecyclerView.It
RecyclerView
和适配器,有N个视图类型。我尝试了3种不同的第三方库(例如),它们应该支持视差标题视图。它们似乎都不工作,也不需要不适用于我的用例的自定义适配器。也许他们在内部玩视图类型
是否有一些库支持适配器和视差滚动标题中的多种视图类型
谢谢。您可以使用项目装饰为特定项目添加视差背景。这只是一些简单的代码,可以在很多方面进行改进
public class ParallaxHeaderDecoration extends RecyclerView.ItemDecoration {
private Bitmap mImage;
public ParallaxHeaderDecoration(final Context context, @DrawableRes int resId) {
mImage = BitmapFactory.decodeResource(context.getResources(), resId);
}
@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
super.onDraw(c, parent, state);
for (int i = 0; i < parent.getChildCount(); i++) {
View view = parent.getChildAt(i);
if (parent.getChildAdapterPosition(view) == 20) {
int offset = view.getTop() / 3;
c.drawBitmap(mImage, new Rect(0, offset, mImage.getWidth(), view.getHeight() + offset),
new Rect(view.getLeft(), view.getTop(), view.getRight(), view.getBottom()), null);
}
}
}
}
公共类视差HeaderDecoration扩展了RecyclerView.ItemDecoration{
私有位图图像;
公共视差标头Decoration(最终上下文,@DrawableRes int resId){
mImage=BitmapFactory.decodeResource(context.getResources(),resId);
}
@凌驾
公共void onDraw(画布c、RecyclerView父级、RecyclerView.State){
super.onDraw(c、母公司、州);
对于(int i=0;i
使用项目装饰特征,您可以将背景绘制到特定视图或位置
您可以在好问题中看到一个更复杂的示例-我也对做一些类似于您所问的事情感兴趣。是的,似乎有很多实现,有些可能可以工作,但只有在整个适配器被重写以满足其需要的情况下。您希望标题背景以视差效果滚动吗?如果是这样的话,我会调查物品的装饰。然后你可以画出你认为合适的背景。我在RecyclerView中的标题比其他项目要大得多,我希望它的视差向上滚动得更慢,而不是看不见。所以把它放大。这个例子只是展示了一种方法,而不是一个完整的解决方案:)@Niko你说的不隐形是什么意思?像粘头?对于类似的东西,您将不得不创建自己的布局管理器