我已经找到了一些解决方案how to change a drawableLeft icon size on a button?,但它对我不起作用。
我的按钮布局:
<RelativeLayout
android:id="@+id/twoButtonLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#eceef5"
android:visibility="visible">
<Button
android:id="@+id/goToPersonalPage"
android:layout_width="150dp"
android:layout_height="50dp"
android:layout_marginLeft="31dp"
android:drawableLeft="@drawable/drawable_left_green"
android:paddingLeft="18dp"
android:drawablePadding="-10dp"
android:background="@drawable/button_oval"
android:text="ICon"
android:textColor="#29395e"
android:textSize="18dp" />
<Button
android:id="@+id/logOutPersonal"
android:layout_width="150dp"
android:layout_height="50dp"
android:layout_alignParentRight="true"
android:layout_marginRight="30dp"
android:background="@drawable/button_oval"
android:text="@string/logOut"
android:textColor="#29395e"
android:textSize="18dp" />
</RelativeLayout>
我按drawable_left_green.xml
调整按钮的大小:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
// I think it should be more smaller if i set 15sp.
<item
android:drawable="@mipmap/ic_launcher"
android:width="15sp"
android:height="15sp"
/>
</layer-list >
当我编译项目时,它(photo2)看起来不像预览布局(photo1):
我无法弄清楚为什么会发生这种情况,有人可以教我如何解决这个问题吗? 任何帮助将不胜感激,提前谢谢。
答案 0 :(得分:3)
你从我的链接中得到答案,但我想给你答案,这样可以帮助别人。
在代码中设置缩放的可绘制
Drawable drawable = ContextCompat.getDrawable(YourActivity.this,R.drawable.akshay);
drawable.setBounds(0, 0, (int)(drawable.getIntrinsicWidth()*0.5),
(int)(drawable.getIntrinsicHeight()*0.5));
ScaleDrawable sd = new ScaleDrawable(drawable, 0, scaleWidth, scaleHeight);
Button btn = findViewbyId(R.id.yourbtnID);
btn.setCompoundDrawables(sd.getDrawable(), null, null, null);