2013-02-12 84 views
0

我想根據ImageButton上的文字大小製作這個按鈕變得更寬。但如果失敗。這裏是我的XML代碼和我在模擬器中實際看到的文本太長時的內容。選擇器.9patch中的圖像,當文本多於圖像按鈕時,如何讓圖像按鈕變得更寬?謝謝。如何使用9patch圖像製作ImageButton?

  <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> 

enter image description here

+2

您的圖像應該是可繪製資源,而不是佈局資源(請參閱android:ImageButton的背景屬性)。 – Stefan 2013-02-12 10:46:13

+0

我試過這個,但它也沒有幫助 – yozhik 2013-02-12 10:49:48

回答

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> 
0

讓您9patch圖像中的drawable文件夾,並使其在佈局你的ImageButton的源/背景。