【发布时间】:2017-12-08 03:09:08
【问题描述】:
我一直在尝试以编程方式调整 ListView 中视图的宽度,因为我希望它在 DP 中,而不是像素中。
我的 ListView 生成一个 RelativeLayout 的实例,其中一个 View 填满了整个屏幕(match_parent),一个 TextView 和一个按钮在里面。
View 设置为 width = match_parent 以按预期填充整个屏幕
我想要的是在我的适配器中有不同的视图宽度。比如基础视图总宽度的 25%、50% 或 75%。
mRelativeLayout.setLayoutParams(new RelativeLayout.LayoutParams(**[VALUE I NEED HERE]**, mRelativeLayout.getLayoutParams().height));
ImageView 设置为 width = match_parent
这是我的 ViewList 适配器中相关的代码部分:
RelativeLayout mRelativeLayout = (RelativeLayout) convertView.findViewById(R.id.test_layout);
mRelativeLayout.setBackgroundResource(arrayListName.myColor);
if (arrayListName.myColor == R.color.custom ) {
dayviewLayout.setLayoutParams(new RelativeLayout.LayoutParams( 25% , dayviewLayout.getLayoutParams().height));
}
if (days.mMoodColor == R.color.custom2) {
dayviewLayout.setLayoutParams(new RelativeLayout.LayoutParams( 50% , dayviewLayout.getLayoutParams().height));
}
if (days.mMoodColor == R.color.custom3) {
dayviewLayout.setLayoutParams(new RelativeLayout.LayoutParams( 75% , dayviewLayout.getLayoutParams().height));
}
25-50-75% 显然是错误的,因为它只需要 int 值。我希望它适合任何屏幕。
感谢您的支持。
【问题讨论】:
标签: java android listview view