我有一个看起来像这样的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中添加动态文本,我无法使用按钮。 我该怎么办?
提前致谢...
答案 0 :(得分:13)
ImageButton
不能包含文字:
您可以尝试的选项
1)使用Button
代替ImageButton
2)使用下面的ImageButton
和TextView
来显示文字
希望这可以提供帮助
答案 1 :(得分:5)
您无法将文本设置为ImageButton,因为它没有setText()或android:text属性的方法。
ImageButtons不能包含文本(或至少android:text
未在其attributes中列出。看起来您需要使用Button(并查看drawableTop
或setCompoundDrawablesWithIntrinsicBounds(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>