我正在使用项目装饰器在recyclerAdapter
中重叠relativelayout
。问题是重叠在不同的手机屏幕上有所不同。我该如何解决它。
下面是我用来重叠布局的类。
public class OverlapDecoration extends RecyclerView.ItemDecoration {
private final static int vertOverlap = -300;
@Override
public void getItemOffsets (Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
int position = parent.getChildAdapterPosition(view);
if (position == 0) {
outRect.set(0, 0, 0, 0);
} else {
outRect.set(0, vertOverlap, 0, 0);
}
}
}
您可以在实用程序中声明静态方法,例如:
public static float convertPixelsToDp(int px){
DisplayMetrics displaymetrics = new DisplayMetrics();
return (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, myPixels, displaymetrics );
}
在您的代码中:
outRect.set(0, Your_Utility_Class.convertPixelsToDp(-300), 0, 0);