在带有文本的按钮中缩放drawableLeft

时间:2012-05-16 17:49:13

标签: android button drawable scaling

我有一个带文字的按钮,左边有一个抽屉。有没有什么方法可以在保持纵横比的同时将可绘制比例调整到合适的尺寸(填充按钮的高度)?

我布局的相关摘录:

        <Button 
            android:text="@string/add_fav"
            android:id="@+id/event_fav_button"
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:drawableLeft="@drawable/star_yellow"/>  

3 个答案:

答案 0 :(得分:2)

您可以根据Button的尺寸调整图像大小,使用getHeight()getWidth()方法获取按钮的大小,并使用以下函数调整Button的图像大小:

调整位图大小:

public Bitmap getResizedBitmap(Bitmap bm, int newHeight, int newWidth) {

int width = bm.getWidth();

int height = bm.getHeight();

float scaleWidth = ((float) newWidth) / width;

float scaleHeight = ((float) newHeight) / height;

// create a matrix for the manipulation

Matrix matrix = new Matrix();

// resize the bit map

matrix.postScale(scaleWidth, scaleHeight);

// recreate the new Bitmap

Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false);

return resizedBitmap;

}

现在使用此调整大小的图像作为按钮。 Reference

答案 1 :(得分:0)

可以在图形中创建一个按钮(包含所有内容)。

或者U可以尝试使用此&gt;&gt; 1.采用宽度和高度与按钮大小相同的布局(相对或线性)。 2.现在将图像视图和文本视图放在其中。 3.使布局可点击..

答案 2 :(得分:0)

您可以在changeFragment()中使用由以下代码组成的函数:

onCreate()

或查看this answer,试图提供一个&#34;通用&#34;溶液