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

时间:2013-06-14 14:57:10

标签: android android-drawable

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

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">

<solid
        android:color="#666666"/>

<size
        android:width="fill_parent"
        android:height="fill_parent"/>
</shape>

修改

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

4 个答案:

答案 0 :(得分:11)

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

来自文档的引用:android:width="...."

  

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

,情况属实

这是我本人的推测,但我怀疑为什么fill_parent属性值不起作用是因为ShapeDrawbleXML Layout文件不同,因为它不具有父项容器

完全省略<size.... />属性并在Widget上设置layout_widthlayout_height,这将引用所述ShapeDrawable是我怀疑的唯一选项(如果 {{ 1}} 是值得尊敬的。)

答案 1 :(得分:0)

你打算如何使用这种形状?您可以将其设置为任何视图的src或背景,并在&#34; fill_parent&#34;中设置视图高度。 - 这是比较常见的方式。

答案 2 :(得分:0)

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

public final void resize (float width, float height)

答案 3 :(得分:0)

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