如果Android RecyclerView的宽度超过屏幕,可以尝试以下解决方法:
RecyclerView recyclerView = findViewById(R.id.recyclerView);
int screenWidth = getResources().getDisplayMetrics().widthPixels;
int recyclerViewWidth = (int) (screenWidth * 0.8); // 80% of screen width
recyclerView.setLayoutParams(new LinearLayout.LayoutParams(recyclerViewWidth, LinearLayout.LayoutParams.WRAP_CONTENT));
RecyclerView recyclerView = findViewById(R.id.recyclerView);
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); // 设置为横向布局
recyclerView.setLayoutManager(layoutManager);
recyclerView.setHasFixedSize(true);
public class ItemSpacingDecoration extends RecyclerView.ItemDecoration {
private int spacing;
public ItemSpacingDecoration(int spacing) {
this.spacing = spacing;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state);
outRect.left = spacing;
outRect.right = spacing;
}
}
// 在使用RecyclerView时添加ItemDecoration
ItemSpacingDecoration itemSpacingDecoration = new ItemSpacingDecoration(10);
recyclerView.addItemDecoration(itemSpacingDecoration);
请注意,上述代码示例可能需要根据实际情况进行适当调整。