可绘制的形状是否可以将其大小设置为fill_parent?

对于Android中的可绘制形状,它是否适用于使用fill_parent的大小?

     

编辑

这是ImageButton视图的背景。 我希望按钮的图标后面有一个圆圈,但我并不总是知道按钮的大小(每个布局的大小不同)。

Solutions Collecting From Web of "可绘制的形状是否可以将其大小设置为fill_parent?"

不是真的。 不单独使用ShapeDrawable 。 如果您浏览ShapeDrawable文档,您将看到( 您已经在标记中使用它们 )唯一有效的属性是pxdpspinmm

来自doc的引用: android:width="...."

可用的单位是:px(像素),dp(与密度无关的像素),sp(基于首选字体大小的缩放像素),in(英寸),mm(毫米)属性如下: android:height

这是我的推测 ,但我怀疑为什么fill_parent属性值不起作用是因为与XML Layout文件不同, ShapeDrawble不会有父容器。

完全省略属性并在Widget上设置layout_widthlayout_height将引用所述ShapeDrawable是我怀疑的唯一选项(如果要接受fill_parent )。

你打算如何使用这种形状? 您可以将其设置为任何视图的src或背景,并在“fill_parent”中设置视图高度 – 这是更常用的方式。

您无法从xml文件中执行此操作,但您可以从java文件中执行此操作。 只是用

public final void resize (float width, float height)

我不知道哪个API级别生效,但根据Shape drawable文档,它将按比例缩放以适合视图。 例如,您可以将width = 1dp和height = 1dp放在一起。 请参阅https://stuff.mit.edu/afs/sipb/project/android/docs/guide/topics/resources/drawable-resource.html#Shape