android Button 控件使用的background是一个xml文件,其中<layer-list 中使用 <vector 绘制图形 为什么重新设置botton宽高 vector图形相对大小变小了
时间: 2024-03-17 07:46:46 浏览: 149
当设置Button控件的宽高时,会影响Button控件上的background xml文件中的vector图形的相对大小。这是因为在vector图形中,元素的大小是相对于vector文件的大小而言的。当使用<layer-list将多个元素组合在一起时,如果Button控件的大小发生变化,而vector文件的大小没有变化,那么vector图形中的元素相对于Button控件的大小就会发生变化。
解决这个问题的方法是,在vector图形中使用百分比来定义元素的大小,这样就可以相对于Button控件的大小来定义元素的大小,从而避免出现相对大小变小的问题。例如,可以使用以下代码定义一个相对大小的矩形元素:
```
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="100dp"
android:height="100dp"
android:viewportWidth="100"
android:viewportHeight="100">
<path
android:fillColor="#FF0000"
android:pathData="M0,0 L0,100 L100,100 L100,0 L0,0 Z" />
<path
android:fillColor="#00FF00"
android:pathData="M10%,10% L10%,90% L90%,90% L90%,10% L10%,10% Z" />
</vector>
```
在这个例子中,矩形的大小是相对于Button控件的大小而言的,因此无论Button控件的大小如何变化,矩形元素的大小都会随之变化,保持相对大小不变。
阅读全文