android 新浪微博 textview表情,TextView显示表情图像和文字

packagecom.study.android_textview2;importjava.lang.reflect.Field;importandroid.R.drawable;importandroid.os.Bundle;importandroid.app.Activity;importandroid.graphics.Color;importandroid.graphics.drawable.Drawable;importandroid.text.Html;importandroid.text.Html.ImageGetter;importandroid.text.method.LinkMovementMethod;importandroid.view.Menu;importandroid.widget.TextView;public class MainActivity extendsActivity {public intgetResourceId(String name){try{//根据资源的ID的变量名获得Field的对象,使用反射机制实现的

Field field = R.drawable.class.getField(name);//取得并返回资源的id的字段(静态变量)的值,使用反射机制

return Integer.parseInt(field.get(null).toString());

}catch(Exception e) {

e.printStackTrace();

}return 0;

}

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

TextView textView= (TextView)this.findViewById(R.id.textview);

textView.setTextColor(Color.BLACK);

textView.setBackgroundColor(Color.WHITE);

textView.setTextSize(20);

String html= "图像1%E2%80%98image1%E2%80%98图像2%E2%80%98image2%E2%80%98图像3%E2%80%98image3%E2%80%98

";

html+= "图像4%E2%80%98image4%E2%80%98图像5%E2%80%98image5%E2%80%98";

CharSequence charSequence= Html.fromHtml(html, newImageGetter() {

@OverridepublicDrawable getDrawable(String source) {//获得系统资源的信息,比如图片信息

Drawable drawable =getResources().getDrawable(getResourceId(source));//处理第三个图片文件按照50%的比例进行压缩

if (source.equals("image3")) {

drawable.setBounds(0, 0, drawable.getIntrinsicWidth()/2, drawable.getIntrinsicHeight()/2);

}else{

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

}returndrawable;

}

},null);

textView.setText(charSequence);

textView.setMovementMethod(LinkMovementMethod.getInstance());

}

@Overridepublic booleanonCreateOptionsMenu(Menu menu) {//Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);return true;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值