2014-02-14 3 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. Если вы не хотите использовать кнопку, используйте TextView. ИЛИ ... вам придется нарисовать текст внутри ImageButton PROGRAMMATICALLY ... такой перебор! –

+0

ImageButton не может иметь текст! –

ответ

8

ImageButton не может содержать текст:

Options вы можете попробовать

1) использовать Button вместо ImageButton

2) использовать ImageButton и TextView ниже, чтобы показать текст

Надеется, что это может помочь

5

Вы не можете установить текст ImageButton, потому что он не имеет никакого способа, как SetText() или Android: текст собственности.

ImageButtons не может иметь текст (или, как минимум, android:text не указан в его attributes). Похоже, что вам нужно использовать кнопки (и посмотреть на drawableTop или setCompoundDrawablesWithIntrinsicBounds(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

вы использование drawableRight или drawableLeft атрибут и используйте текстовый атрибут для создания кнопки с текстом и изображением.

<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> 
Смежные вопросы