如何减少单选按钮的可绘制尺寸?

Sae*_*Kim 6 android

我有四个单选按钮.

xml源码

<RadioButton
    android:id="@+id/fragBtn1"
    android:layout_width="0dp"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:background="@drawable/btn_bg_selector"
    android:button="@null"
    android:drawableTop="@drawable/btn_img_selector" />
Run Code Online (Sandbox Code Playgroud)

btn_img_selector

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/selected_btn" android:gravity="center" android:state_checked="true"/>
    <item android:drawable="@drawable/nonselected_btn" android:gravity="center"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

btn_bg_selector

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/btnPressed" android:state_pressed="true"/>
    <item android:drawable="@color/btnNonPressed"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

但按钮图像太大了.
我想仅减小按钮图像尺寸..(不减小按钮尺寸)
例如,我想缩放按钮图像尺寸30px*30px.
可能吗?

Hee*_*ora 8

按下按钮

<RadioButton
        android:scaleX="0.75"
        android:scaleY="0.75" />
Run Code Online (Sandbox Code Playgroud)


Sae*_*Kim 0

我找不到解决办法。
但我找到了另一个解决方案。

XML源

<RadioButton
    android:id="@+id/fragBtn1"
    android:layout_width="0dp"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:background="@drawable/btn_bg_selector"
    android:button="@null"
    android:drawableLeft="@drawable/btn_selector" />
Run Code Online (Sandbox Code Playgroud)

我的活动.java

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);

    BitmapDrawable bd = (BitmapDrawable) this.getResources().getDrawable(R.drawable.mybtn);

    int iconWidth = bd.getBitmap().getWidth();
    int leftPadding = (btn.getWidth() / 2) - (iconWidth / 2);

    btn.setPadding(leftPadding, 0, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)