将drawableLeft和drawableRight的高度限制为TextView的高度

Dzh*_*eyt 26 android textview drawable

我有以下内容TextView:

<TextView
    android:drawableLeft="@drawable/loading"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Updating Rates" />
Run Code Online (Sandbox Code Playgroud)

结果如下:

如何使加载圆可绘制约束成比例,使其高度与文本的高度相匹配?

另外,如果可能的话,我想在文本和图像之间添加一些间距.

Jaf*_*KhQ 22

要使loading较小的只是使图像更小.

或者使用RelativeLayout并装载并加载ImageView它.

或者您可以使用android:drawablePadding(或setCompoundDrawablePadding())在drawable和文本之间添加填充:

android:drawablePadding="3dp"
Run Code Online (Sandbox Code Playgroud)

  • "只是让图像更小",那么兼容性+ 11k设备有多小? (14认同)

Rav*_*avi 8

我想我找到了解决方案,但有点晚了

Drawable drawable = getResources().getDrawable(R.drawable.s_vit);
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); 
Run Code Online (Sandbox Code Playgroud)