android中的Textview图像

时间:2012-07-23 09:33:40

标签: android textview

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

5 个答案:

答案 0 :(得分:3)

您可以使用

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

用于textView

答案 1 :(得分:2)

您可以使用android:background属性

设置背景图片
<TextView 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/image" />

或使用setBackgroundDrawable()setBackgroundResource()方法编程:

textView.setBackgroundResource(R.drawable.image);

答案 2 :(得分:1)

您可以使用Drawables数组,这是一个索引:

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达到最后一个值时,简单地将其设置为零。

答案 3 :(得分:0)

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

textview.setBackgroundDrawable();

textview.setBackgroundResource();

答案 4 :(得分:0)

尝试此代码,textview with image。

CharSequence dogstate = null; Html.fromHtml(“”+“”                                 +“你的文字”+“
”,featuregetter,null);

dogatstatus.append(dogstate);

私有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;
    }
};