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
次观看的背景。我希望按钮的图标后面有一个圆圈,但我不会总是知道按钮的大小(每个布局的大小不同)。
答案 0 :(得分:11)
不是真的。单独不使用ShapeDrawable
。如果您浏览ShapeDrawable
文档,则会看到(您已经在标记中使用它们),唯一有效的属性是 px , dp , sp , 和 mm
来自文档的引用:android:width="...."
可用单位是:px(像素),dp(与密度无关的像素),sp (基于首选字体大小的缩放像素),单位为(英寸),mm (毫米) 对于属性
,情况属实android:height
这是我本人的推测,但我怀疑为什么fill_parent属性值不起作用是因为ShapeDrawble
与XML Layout
文件不同,因为它不具有父项容器
完全省略<size.... />
属性并在Widget上设置layout_width
和layout_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