2014-02-14 53 views
4

我有一個ImageButton,它看起來像這樣。在ImageButton中設置文本

<ImageButton 
      android:id="@+id/ImageButton" 
      android:layout_width="200dp" 
      android:layout_height="200dp" 
      android:layout_gravity="center" 
      android:layout_marginBottom="6px" 
      android:layout_marginRight="3px" 
      android:layout_toRightOf="@+id/Logo" 
      android:background="@drawable/button_bg_purple" 
      android:scaleType="fitStart" 
      android:src="@drawable/ImageButton" /> 


ImageButton ImgButton= (ImageButton) this.findViewById(R.id.ImageButton); 

現在我需要以編程方式在ImageButton中添加動態文本,並且我無法使用按鈕。 我該怎麼辦?

在此先感謝...

+1

爲什麼你不能使用按鈕? ImageButtons沒有文本屬性。他們擴展ImageView。如果你不想使用Button,那麼使用TextView。或者...你必須在ImageButton的程序內畫出你的文字...這樣的矯枉過正! –

+0

ImageButton不能有文字! –

回答

8

ImageButton不能包含文本:

選項,你可以嘗試

1)使用,而不是ButtonImageButton

2)使用ImageButton及以下TextView顯示文本

希望能幫助

5

你不能設置文字的ImageButton,因爲它沒有方法的setText()或Android:text屬性。

ImageButtons不能有文本(或者,至少android:text未在attributes中列出)。它看起來像你需要使用按鈕(看看drawableTopsetCompoundDrawablesWithIntrinsicBounds(int,int,int,int))

相反的ImageButton的嘗試按鈕,你可以能夠添加按鈕背景image.So嘗試用按鈕代替的ImageButton。

+4

...或'setBackgroundDrawable()'... –

0

試試這個:

<Button 
    android:id="@+id/Button" 
    android:layout_width="200dp" 
    android:layout_height="200dp" 
    android:layout_gravity="center" 
    android:layout_marginBottom="6px" 
    android:layout_marginRight="3px" 
    android:layout_toRightOf="@+id/Logo" 
    android:scaleType="fitStart" 
    android:background="@drawable/ImageYouWantToShow" /> 
Button imgButton= (Button) this.findViewById(R.id.Button) 
2

您使用drawableRightdrawableLeft的屬性,使用文本屬性來創建帶有文本和圖像的按鈕。

<Button 
android:id="@+id/buttonok" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:drawableLeft="@drawable/buttonok" 
android:text="OK"/> 
0

試試這個,而不是按鈕

<FrameLayout 
    android:layout_width="40dp" 
    android:layout_height="100dp" 
    > 
    <Button 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/prevButton" 
     /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="horizontal"> 
     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:paddingTop="16dp" 
      android:paddingBottom="16dp" 
      android:paddingLeft="8dp" 
      android:paddingRight="8dp" 
      android:src="@drawable/arrow_left" 
      android:scaleType="fitCenter" 
      android:adjustViewBounds="true" 
      android:background="#00000000" 
      android:enabled="false" 
      android:clickable="false" 
      /> 
     <TextView 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:text="prev" 
      android:textSize="20sp" 
      android:gravity="center" 
      android:background="#00000000" 
      android:textColor="#FF000000" 
      android:enabled="false" 
      android:clickable="false" 
      android:layout_weight="1" 
      /> 

    </LinearLayout> 

</FrameLayout>