Definição da fonte de imagem para ToggleButton

Tenho um arquivo png de 30px x 30px que eu gostaria de usar como android: src em vez de android: background. Ao usá-lo como plano de fundo e ao mencionar "wrap_content" para altura e largura, o resultado final se parece mais com 45 px x 45 px.

Ideally, o que eu preciso é uma mistura de ImageButton e ToggleButton. Gostaria de ter o recurso de definir um a, ndroid: src do ImageButton e o recurso de alternar onde os estados são salvos automaticamente para mi

Qualquer solução ou solução alternativa?

TIA.

Oi, parece não ajudar a criar outro estilo. O src ainda parece muito maior do que 30px x 30px original.

In main.xml:

<ToggleButton android:id="@+id/blah"
    style="@style/myToggle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
</ToggleButton>

In Styles.xml

<style name="myToggle">
    <item name="android:textOn">""</item>
    <item name="android:textOff">""</item>
    <item name="android:disabledAlpha">?android:attr/disabledAlpha</item>
    <item name="android:background">@drawable/my_btn_toggle_bg</item>
</style>

In my_btn_toggle_bg.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/myBackground" android:drawable="@android:drawable/btn_default_small" />
    <item android:id="@+id/myToggle" android:drawable="@drawable/my_btn_toggle" />
</layer-list>

In my_btn_toggle.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="false" android:drawable="@drawable/pausebutton" />
    <item android:state_checked="true" android:drawable="@drawable/playbutton" />
</selector>

playbutton.png e pausebutton.png são 30px x 30px cada. Mas eles parecem muito maiores quando o vejo no dispositivo

questionAnswers(5)

yourAnswerToTheQuestion