如何指定可绘制项目的宽度和高度

use*_*669 12 layout android

嗨,无论如何提供drawable文件夹中drawable.xml中定义的drawable的宽度和高度.

例:

 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true"
           android:drawable="@drawable/button_pressed" /> <!-- pressed -->
     <item android:state_focused="true"
           android:drawable="@drawable/button_focused" /> <!-- focused -->
     <item android:drawable="@drawable/button_normal" /> <!-- default -->
 </selector>
Run Code Online (Sandbox Code Playgroud)

我想指定宽度和高度可能以某种方式在其中使用" scale "标签,我试过但没有工作.这是我的代码:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/icon_ratingstar">
        <scale android:scaleWidth="20" android:scaleHeight="20" android:drawable="@drawable/icon_ratingstar" />
    </item>
</selector>
Run Code Online (Sandbox Code Playgroud)

Par*_*rth 5

图层列表将有所帮助:此处根据您的要求更改值

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape>
        <size
            android:width="20dp"
            android:height="20dp" />

        <solid android:color="@android:color/black" />
    </shape>
</item>
<item
    android:width="20dp"
    android:height="20dp"
    android:drawable="@drawable/slider_knob" />
Run Code Online (Sandbox Code Playgroud)


Ovi*_*tcu -17

您可以在<item>标签内指定widthheightdrawable

<selector xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:state_pressed="true"
       android:width="100dp"
       android:height="20dp"
       android:drawable="@drawable/button_pressed" /> <!-- pressed -->
 <item android:state_focused="true"
       android:width="100dp"
       android:height="20dp"
       android:drawable="@drawable/button_focused" /> <!-- focused -->
 <item android:drawable="@drawable/button_normal" /> <!-- default -->
Run Code Online (Sandbox Code Playgroud)

  • 上面的实际上不起作用。`StateListDrawable`(选择器)实际上没有宽度和高度属性。 (13认同)