动态添加文本或图像到ImageButton

时间:2015-04-09 06:39:18

标签: java android android-layout

我在我的布局中有这个ImageButton:

   <ImageButton
        android:id="@+id/grid_item_image"
        android:layout_width="@dimen/button_main_size"
        android:layout_height="@dimen/button_main_size"
        android:gravity="center"
        android:layout_gravity="center_horizontal"
        android:padding="10dp"
              >
    </ImageButton>

如果可能,我现在不能,但是我可以动态地向此图像按钮添加文本或图像吗?我想每次都显示一个图像(default image),然后,我想在default image中添加一个数字(可变)。

7 个答案:

答案 0 :(得分:1)

对于ImageButton,您无法设置文本,但可以通过编程方式设置背景可绘制

ImageButton imageButton = (ImageButton) findViewById(R.id.grid_item_image);
imageButton.setBackgroundResource(R.drawable.yourimage);

如果您想同时更改文字和背景图片,最好使用简单的Button

button.setText("Text");

答案 1 :(得分:0)

你无法向imagebutton添加文本尝试用Button替换它,我们可以使用button.setImageResource();

设置文本和图像

答案 2 :(得分:0)

使用以下代码动态设置图像按钮中的图像:

 if (Build.VERSION.SDK_INT >= 16) {
       ivcomplete.setBackground(getResources().getDrawable(R.drawable.completed));  
   }else {
    ivcomplete.setBackgroundDrawable(getResources().getDrawable(R.drawable.completed)); 
 }

ImageButtons无法显示文本,即 android:text 属性未在imagebutton中列出。对于这种情况,您可以使用简单的Button。

答案 3 :(得分:0)

    ImageButton imgbtn = (ImageButton) findViewById(R.id.grid_item_image);
    imgbtn.setBackgroundResource(R.drawable.yourimage);

    imgbtn.setImageBitmap(bitmap);

答案 4 :(得分:0)

首先,您无法向ImageButton添加文本,因为ImageButton没有任何方法 setText() android:text属性。< / p>

替代解决方案是您可以使用按钮而不是ImageButton,并且可以查找属性 drawableTop setCompoundDrawablesWithIntrinsicBounds(int,int,int,int))

您可以通过以下代码添加图片:

yourImageButton.setBackgroundResource(R.drawable.anyimage);

答案 5 :(得分:0)

你应该像这样简单地改变按钮的xml:

<Button
 android:id="@+id/grid_item_image"
 android:layout_height="@dimen/button_main_size"
 android:gravity="center"
 android:layout_gravity="center_horizontal"
 android:padding="10dp"
 android:drawableLeft="@android:drawable/this_is_your_default_image"
 android:text="default text" />

如果您想更新文字default text

button.setText("updated text");

updated text现在会在按钮

上显示default image
YOUR              |    UPDATED

DEFAULT           |    TEXT

IMAGE             |    HERE

有一个很好的教程:here

答案 6 :(得分:0)

是的,正如@Sleiman所说,如果你想要文字+图像,你需要使用Buttonbutton.setBackgroundDrawable()button.setText()

请参阅此链接:Android: combining text & image on a Button or ImageButton