您的位置:首页 > 移动开发 > Android开发

Android TextView中添加图片的方法

2017-08-10 11:43 459 查看
1.重写TextView的onDraw方法(此方法不推荐,除非有特别要求)

2.用TextView支持部分Html,直接用api赋图片

String html = "<img src='" + R.drawable.pictrue+ "'/>";  

        ImageGetter imageGetter = new ImageGetter() {  

              

            @Override  

            public Drawable getDrawable(String source) {  

                // TODO Auto-generated method stub  

                int id = Integer.parseInt(source);  

                Drawable d = getResources().getDrawable(id);  

                d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());  

                return d;  

            }  

        };  

        CharSequence mCharSequence = Html.fromHtml(html, imageGetter , null);  

        textView1.setText(charSequence);  

        textView1.append("图片 ");

3.用ImageSpan和SpannableString

 Bitmap b = BitmapFactory.decodeResource(getResources(),
R.drawable.picture);  

        ImageSpan imgSpan = new ImageSpan(this, b);  

        SpannableString spanString = new SpannableString("icon");  

        spanString.setSpan(imgSpan, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  

        textView2.setText(spanString);  

        textView2.append("你好");

4.     xml中  android:drawableRight="@drawable/button_nav_down"  

 
  可以在代码中动态修改

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

   Drawable可以通过 Drawable mDrawable=getResources().getDrawable(R.drawable.button_nav_up);得    到

   但是API提示,setCompoundDrawables() 调用的时候,Drawable对象必须调用setBounds(int left, int      top, int right, int bottom)方法

   mDrawable=getResources.setBounds(0, 0, nav_up.getMinimumWidth(),         nav_up.getMinimumHeight());  

   总代码是这样的:

   Drawable mDrawable=getResources().getDrawable(R.drawable.picture);  

   nav_up.setBounds(0, 0, nav_up.getMinimumWidth(), nav_up.getMinimumHeight());  

   textview1.setCompoundDrawables(null, null, nav_up, null);  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: