2

在我的应用程序中,我必须在我的文本视图中显示图像。另外,当我单击第一次时,应绘制 1 张图像,然后单击下一次应绘制另一张图像。是否可以在 textview 中绘制图像?请帮助我..

4

5 回答 5

3

您可以使用

setCompoundDrawables(Drawable left, Drawable top, Drawable right, Drawable bottom)

对于文本视图

于 2012-07-23T09:41:15.857 回答
2

android:background您可以使用属性设置背景图像

<TextView 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/image" />

或以编程方式使用setBackgroundDrawable()orsetBackgroundResource()方法:

textView.setBackgroundResource(R.drawable.image);
于 2012-07-23T09:37:38.260 回答
1

你可以获取一个 Drawable 数组,一个索引:

TextView tv;
Drawable[] drbl = new Drawable[4];
int drblIndex = 0;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.home);

    drbl[0] = getResources().getDrawable(R.drawable.ic_launcher);
    drbl[1] = getResources().getDrawable(R.drawable.img2);
    drbl[2] = getResources().getDrawable(R.drawable.img3);
    drbl[3] = getResources().getDrawable(R.drawable.right_arrow);
    tv = (TextView) findViewById(R.id.textView1);
    tv.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            tv.setBackgroundDrawable(drbl[drblIndex++]);
            if(drblIndex == drbl.length)
                drblIndex = 0;
        }
    });
}

然后你可以像我一样设置该数组的值。

然后 onClick 你可以移动到下一个索引并且可以将新的 Drawable-Image 设置为 TextView。

当 Index 达到最后一个值时,简单地将其设置为零。

于 2012-07-23T09:48:38.973 回答
0

在 TextView 上设置OnClickListener,并在其onClick()方法中,使用以下方法设置图像:

textview.setBackgroundDrawable();

或者

textview.setBackgroundResource();
于 2012-07-23T09:42:24.243 回答
0

试试这个代码,带有图像的文本视图。

CharSequence dogstate = null ; Html.fromHtml("" + " " + "你的文本" + "
", featuregetter, null);

dogatstatus.append(狗状态);

私有 ImageGetter featuregetter = new ImageGetter() {

    public Drawable getDrawable(String source) {

        Log.i(" get drawable mathod ", "");
        Bitmap B = BitmapFactory.decodeResource(getResources(),
                R.drawable.bone);
        BitmapDrawable BD = new BitmapDrawable(B);

        BD.setBounds(0, 0, B.getWidth(), B.getHeight());

        return BD;
    }
};
于 2012-07-23T10:24:56.720 回答