首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 平面设计 > 图形图像 >

Android的TextView中显示图片跟图像的方法

2013-03-27 
Android的TextView中显示图片和图像的方法实现效果如下:(感谢老罗视频的讲解)视频下载地址:猛击这里没事多

Android的TextView中显示图片和图像的方法

实现效果如下:(感谢老罗视频的讲解)  视频下载地址:猛击这里

没事多看看 不同过的实现方案还是不错的。就是在Textview中嵌套点图片显示出来。效果不错。有人该说,你这傻逼,闲着蛋疼了一会用着用那的。呵呵。其实呢这种方法可以避免布局中混乱嵌套的问题,你只需要搞个Textview和复制点图片进Drawable文件夹下即可实现一些功能了。不需要那么麻烦。要不然你得嵌很多布局也很麻烦。

 

Android的TextView中显示图片跟图像的方法

代码如下:

package lixiaodaoaaa.com.ui;import java.lang.reflect.Field;import android.app.Activity;import android.graphics.Color;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.text.Html;import android.text.Html.ImageGetter;import android.widget.TextView;/*** * by lixiaodaoaaa Tecent_weibo: http://t.qq.com/lixiaodaoaaa * xinlang_Weibo:http://weibo.com/lixiaodaoaaa *  * @author lixiaodaoaaa *  */public class MainActivity extends Activity{/** * 此方法是通过资源的名字 获得资源的id;比如在Drawable文件夹下的face_01.png 获得face_01.png的id;;;;; * 主要用到了R.drawable.class.getField 通过反射的方法。 *  * @param name * @return */public int gerResouceIdByName(String name){try{Field field = R.drawable.class.getField(name);return Integer.parseInt(field.get(null).toString());} catch (Exception e){System.out.println("parse fialed  return 0 is here");}return 0;}@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initTextView();}private void initTextView(){TextView textView = (TextView) findViewById(R.id.tv_test01);textView.setBackgroundColor(Color.WHITE);textView.setTextColor(Color.BLACK);textView.setTextSize(20);String html1 = "图像1 <img src='face_01' /><p>";html1 += "图像2 <img src='face_02' /><p>";html1 += "图像3 <img src='face_03' /><p><p>";// <p>这里是段落标记。让他在回车换行下面显示;;;html1 += "图像4 <a href='http://weibo.com/lixiaodaoaaa'><img src='face_04' /></a><p>";html1 += "图像5 <img src='face_05' />";CharSequence charSequence = Html.fromHtml(html1, new ImageGetter(){@Overridepublic Drawable getDrawable(String name){int currentDrawableId = gerResouceIdByName(name);// 通过名字得到资源的id;Drawable drawable = getResources().getDrawable(currentDrawableId);// 必须对返回的drawable 设置 bounds 要不然不会显示;;;if (name.equals("face_03")){drawable.setBounds(0, 0, drawable.getIntrinsicWidth() / 3, drawable.getIntrinsicHeight() / 3);}// 如果是图片03的话我们 将进行简单的缩放,设置为它原来的一半大小;;;else if (name.equals("face_04")){drawable.setBounds(0, 0, drawable.getIntrinsicWidth() * 2, drawable.getIntrinsicHeight() * 2);// 如果是图表4的话我们将他倍宽倍高 设置放大;;;} else{drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());}return drawable;}}, null);textView.setText(charSequence);}}

源码下载地址:猛击这里下载
1楼lixiaodaoaaa昨天 21:32
return field.getInt(new R.drawable());n这个方法貌似简单点吧

热点排行