Android,如何以编程方式将图标*和*文本添加到按钮?

时间:2011-08-16 14:17:32

标签: android text button icons

我需要在我的Android应用中以代码(不是xml)为按钮添加图标一些文字。

图标(股票图标,“expander_open_holo_light.9.png”)应位于左侧,文本位于右侧。

我找不到任何线索......

3 个答案:

答案 0 :(得分:9)

看一下setCompoundDrawableWithIntrinsicBounds()。你可以在这里找到信息:

http://developer.android.com/reference/android/widget/TextView.html#setCompoundDrawablesWithIntrinsicBounds(int, int, int, int)

基本上,这是以编程方式设置按钮的android:drawableLeft属性的方法。

答案 1 :(得分:1)

如果你没有对按钮进行太多操作(比如调整大小,实例化其中一些),我只需创建一个自定义的xml视图,其中包含容器中的imageview和textview。

如果要经常更改图片和文本,请创建自定义ImageView或Button类。

E.G textbutton.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/base"
     android:orientation="horizontal"
     android:layout_width="200dp"
     android:layout_height="100dp"
     android:gravity="center"
     android:background="#ff623466">

    <ImageView android:id="@+id/image"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:src="@drawable/icon"
        android:gravity="center"
    />

    <TextView android:id="@+id/text"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="Hello!"
            android:gravity="center"
    />

</LinearLayout>

然后在main.xml或您想要按钮的任何其他布局中发布此行:

<include layout="@layout/textbutton" />

答案 2 :(得分:1)

选择TextView并将ImageView设置为背景。设置图片后,将文字附加到其中。文本将移至右侧。希望它有所帮助。