0

我想根据 ImageButton 上的文本大小使这个按钮变宽。但如果失败。这是我的 XML 代码,以及当文本太长时我在模拟器中实际看到的内容。选择器 .9patch 中的图像,当文本更像图像按钮时,如何使图像按钮变宽?谢谢。

            <ImageButton
                android:id="@+id/bonjour"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:scaleType="fitXY"
                android:background="@layout/main_menu_account_white_button_selector"/>

            <TextView
                android:id="@+id/bonjour_text_up"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_centerHorizontal="false"
                android:text=""
                android:textColor="@color/menubutton_black"
                android:textSize="@dimen/small_bottom_menubutton_title_text_size_dn"
                android:textStyle="bold|italic" />

            <TextView
                android:id="@+id/bonjour_text_dn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/bonjour_text_up"
                android:layout_centerHorizontal="false"
                android:text="ScreenName"
                android:textColor="@color/menubutton_black"
                android:textSize="@dimen/small_bottom_menubutton_title_text_size_dn"
                android:textStyle="bold|italic" />
        </RelativeLayout>


<?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true"
           android:drawable="@drawable/main_menu_account_white_button_1" /> <!-- pressed -->
     <item android:state_selected="true"
           android:drawable="@drawable/main_menu_account_white_button_1" /> <!-- pressed -->
     <item android:state_focused="true"
           android:drawable="@drawable/main_menu_account_white_button_0" /> <!-- focused -->
     <item android:drawable="@drawable/main_menu_account_white_button_0" /> <!-- default -->
 </selector>

在此处输入图像描述

4

2 回答 2

0

9patch图像保存在drawable文件夹中,并使其成为布局中 ImageButton 的源/背景。

于 2013-02-12T10:54:48.040 回答
0

这是帮助我解决问题的解决方法:我将 9patch 图像设置为 RelativeLayout 的背景,删除了 ImageButton。实际按钮需要以这样的方式完成:顶部和左侧 = 必须仅在左侧中间区域标记为可扩展,底部 = 内容必须标记为全部长度。

            <RelativeLayout
            android:id="@+id/bonjour"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/main_menu_account_white_button_0"
            android:clickable="true" >

            <TextView
                android:id="@+id/bonjour_text_up"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_centerHorizontal="false"
                android:text=""
                android:textColor="@color/menubutton_black"
                android:textSize="@dimen/small_bottom_menubutton_title_text_size_dn"
                android:textStyle="bold|italic" />

            <TextView
                android:id="@+id/bonjour_text_dn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/bonjour_text_up"
                android:layout_centerHorizontal="false"
                android:text="ScreenName"
                android:textColor="@color/menubutton_black"
                android:textSize="@dimen/small_bottom_menubutton_title_text_size_dn"
                android:textStyle="bold|italic" />
        </RelativeLayout>
于 2013-02-12T14:33:47.523 回答