在ImageButton中设置文本

时间:2014-02-14 10:22:51

标签: android 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中添加动态文本,我无法使用按钮。 我该怎么办?

提前致谢...

5 个答案:

答案 0 :(得分:13)

ImageButton不能包含文字:

您可以尝试的选项

1)使用Button代替ImageButton

2)使用下面的ImageButtonTextView来显示文字

希望这可以提供帮助

答案 1 :(得分:5)

您无法将文本设置为ImageButton,因为它没有setText()或android:text属性的方法。

ImageButtons不能包含文本(或至少android:text未在其attributes中列出。看起来您需要使用Button(并查看drawableTopsetCompoundDrawablesWithIntrinsicBounds(int,int,int,int))

而不是ImageButton尝试使用Button。您可以添加按钮背景图像。请尝试使用Button而不是ImageButton。

答案 2 :(得分:3)

您使用 drawableRight drawableLeft 属性,并使用text属性为文本和图片创建Button。

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

答案 3 :(得分: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)

答案 4 :(得分: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>