我正在尝试创建一个彩色圆圈并将其分配给我的GridView的ImageView。
这是我的代码:
if-else
目前,我手动将ShapeDrawable的高度和宽度设置为128px。有没有办法为ShapeDrawable赋值“match_parent”就像我可以用ImageView做的那样?
答案 0 :(得分:1)
尝试更改行
ivColor.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
到
ivColor.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
修改强>
此外,设置必须为setScaleType()
ImageView
http://developer.android.com/reference/android/widget/ImageView.ScaleType.html
您应该根据需要尝试CENTER_CROP
,CENTER_FILL
或FIT_CENTRE
。
答案 1 :(得分:0)
将ShapeDrawable
设置为ImageView
的背景。背景总是填充View
,因此您将获得您想要实现的目标。
ivColor.setBackgroundDrawable(shape);
或
ivColor.setBackground(shape); // Api level 16+