首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓make ShapeDrawable match_parent

安卓make ShapeDrawable match_parent
EN

Stack Overflow用户
提问于 2015-09-01 03:13:08
回答 2查看 570关注 0票数 1

我正在尝试创建一个彩色圆圈,并将其分配给我的GridView的ImageView。

下面是我的代码:

代码语言:javascript
复制
ImageView ivColor;

ivColor = new ImageView(MainActivity.this);
ivColor.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));         

ShapeDrawable shape = new ShapeDrawable(new OvalShape());
shape.getPaint().setColor(color[i]);
shape.setIntrinsicWidth(128);
shape.setIntrinsicHeight(128);

ivColor.setImageDrawable(shape);

现在,我手动将ShapeDrawable的高度和宽度设置为128px。有没有办法给ShapeDrawable赋值"match_parent“,就像我对ImageView一样?

EN

回答 2

Stack Overflow用户

发布于 2015-09-01 10:51:32

尝试更改行

代码语言:javascript
复制
ivColor.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 

代码语言:javascript
复制
ivColor.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); 

编辑:

此外,为ImageView设置您必须运行setScaleType()

http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

您可以根据需要尝试CENTER_CROPCENTER_FILLFIT_CENTRE

票数 1
EN

Stack Overflow用户

发布于 2015-09-01 15:11:33

ShapeDrawable设置为ImageView的背景。背景总是充满了View,所以你会得到你想要实现的东西。

代码语言:javascript
复制
ivColor.setBackgroundDrawable(shape);

代码语言:javascript
复制
ivColor.setBackground(shape); // Api level 16+
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32318331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档