Android 需要ImageButton自动调整文本大小

Android 需要ImageButton自动调整文本大小,android,imagebutton,Android,Imagebutton,我原以为这是一个快速的在线解决方案,但没有运气。我有一个.9.png按钮。我有不同大小的文本字段,如:“章节”或“Bb”或“Eb”。我想让ImageButton调整到文本的大小。无论文本是什么,按钮的大小都保持不变。我可以使用常规按钮,但不能使用ImageButton。我忽略了什么?只有我的第二个应用 <!-- Default screen margins, per the Android Design guidelines. --> <dimen name="activity

我原以为这是一个快速的在线解决方案,但没有运气。我有一个.9.png按钮。我有不同大小的文本字段,如:“章节”或“Bb”或“Eb”。我想让ImageButton调整到文本的大小。无论文本是什么,按钮的大小都保持不变。我可以使用常规按钮,但不能使用ImageButton。我忽略了什么?只有我的第二个应用

<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">1dp</dimen>
<dimen name="activity_vertical_margin">1dp</dimen>
<dimen name="text_size">15sp</dimen>
<dimen name="btn_layout_height">40dp</dimen>
以下是XML:

     <LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/chapters"
        android:layout_width="wrap_content"
        android:layout_height="@dimen/btn_layout_height"
        android:textSize="@dimen/text_size"
        android:background="@drawable/button"
        android:text="@string/chapters" /> 
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">1dp</dimen>
<dimen name="activity_vertical_margin">1dp</dimen>
<dimen name="text_size">15sp</dimen>
<dimen name="btn_layout_height">40dp</dimen>

这是Dimens文件:

<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">1dp</dimen>
<dimen name="activity_vertical_margin">1dp</dimen>
<dimen name="text_size">15sp</dimen>
<dimen name="btn_layout_height">40dp</dimen>

1dp
1dp
15便士
40dp

<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">1dp</dimen>
<dimen name="activity_vertical_margin">1dp</dimen>
<dimen name="text_size">15sp</dimen>
<dimen name="btn_layout_height">40dp</dimen>
.9.png文件的格式为res/drawable

<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">1dp</dimen>
<dimen name="activity_vertical_margin">1dp</dimen>
<dimen name="text_size">15sp</dimen>
<dimen name="btn_layout_height">40dp</dimen>
我尝试过在XML文件中填充布局,并在Draw9Patch工具上调整可拉伸区域和填充区域。按钮的尺寸为100 x 27

<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">1dp</dimen>
<dimen name="activity_vertical_margin">1dp</dimen>
<dimen name="text_size">15sp</dimen>
<dimen name="btn_layout_height">40dp</dimen>

为什么不直接将layout\u Hight设置为wrap\u内容,而不是从维度对其进行硬编码?您可以发布9.png吗。一种可能是它没有正确定义可拉伸区域。@我硬编码了尺寸,因为图像按钮的高度也有很多填充。@AndroidGuy我附加了.9。png@AndroidGuy按钮定义是否正确?
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">1dp</dimen>
<dimen name="activity_vertical_margin">1dp</dimen>
<dimen name="text_size">15sp</dimen>
<dimen name="btn_layout_height">40dp</dimen>