如何缩放可绘制的内部按钮,使按钮大小不受drawable控制?

时间:2016-08-27 17:17:11

标签: android

在下面的屏幕截图中,我使用相同的图标同时显示按钮和图像视图,但我无法控制的是缩放按钮内的图标,我可以使图标变小通过降低分辨率并使按钮变小但使图标像素化。有没有办法让按钮有高分辨率图标,让按钮控制整体尺寸?

enter image description here

按钮的XML:

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Email"
    android:id="@+id/em_btn"
    android:layout_gravity="center_horizontal"
    android:backgroundTint="#ffffff"
    android:drawableLeft="@drawable/email2"/>

2 个答案:

答案 0 :(得分:1)

Drawable emailImg = getResources().getDrawable(R.drawable.email2);
        drawable.setBounds(0, 0, (int)(drawable.getIntrinsicWidth()*0.1),
                (int)(drawable.getIntrinsicHeight()*0.1));
        ScaleDrawable scaledImg = new ScaleDrawable(emailImg, 0, 10, 10);
        Button button = (Button)findViewById(R.id.em_btn);
        button.setCompoundDrawables(scaledImg.getDrawable(), null, null, null);

试试这个

答案 1 :(得分:0)

点击按钮,拨打setScaleX(floatValue);setScaleY(floatValue);