android studio中如何在TextView...

5049人阅读
& & 大家好,今天和大家分享如何在TextView中加入图片的功能,有两种方式,第一种是继承TextView实现图片通过重写来实现图片的显示功能,第二种是利用现成的api实现图片的显示功能。我们知道TextView支持部分HTML标签,但是想在TextView中加入图片则怎么做呢?直接通过&img src=&&/&标签肯定是不行的。通过查看API我们发现有这样一个静态的方法:
public static Spanned fromHtml (String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler) 那么是不是只要实现其中的Html.ImageGetter就可以加入图片呢?答案是肯定的!
还是别废话吧,代码最直观package org.winplus.
import android.app.A
import android.graphics.drawable.D
import android.os.B
import android.text.H
import android.text.Html.ImageG
import android.widget.TextV
public class TextViewDemoActivity extends Activity {
private TextView txtW
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setupViews();
private void setupViews() {
txtWecome = (TextView) findViewById(R.id.wecome);
txtWecome.append(Html.fromHtml(&&img src='&+R.drawable.tangcheng_ok+&'/&&, imageGetter, null));
ImageGetter imageGetter = new ImageGetter() {
public Drawable getDrawable(String source) {
int id = Integer.parseInt(source);
Drawable drawable = getResources().getDrawable(id);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());
这是效果图:
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:499259次
积分:6132
积分:6132
排名:第1798名
原创:104篇
转载:10篇
评论:459条
阅读:6917
文章:24篇
阅读:124997
(1)(1)(2)(1)(8)(1)(5)(1)(1)(3)(2)(3)(3)(3)(15)(4)(4)(2)(2)(2)(8)(6)(8)(3)(6)(3)(2)(2)(6)(5)(1)(2)(1)android中textview字数过长解决方法
为了解决textview中内容过长的话自动换行,但是调用measureText函数时发现返回值很不准确,单位也不确定,是pixel还是dip,都不准。后来想起textview中有个内容过长加省略号的属性,即ellipsize,可以解决这个问题,用法如下:
android:ellipsize = "end"  & 省略号在结尾
android:ellipsize = "start"   省略号在开头
android:ellipsize =
"middle"&&&&
省略号在中间
android:ellipsize = "marquee"& 跑马灯
最好加一个约束android:singleline = "true"
当然也可以用代码语句
tv.setEllipsize(TextUtils.TruncateAt.valueOf("END"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("START"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("MIDDLE"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("MARQUEE"));
最好再加一个约束tv.setSingleLine(true);
不仅对于textview有此属性,对于editext也有,不过它不支持marquee
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。用心创造滤镜
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'android程序ScrollView里有TextView,知道指定的字符在Text中的偏移量,如何直接跳转到该位置',
blogAbstract:'代码如下:public class MainActivity extends Activity {
private static final String TAG = \"MainActivity\";
private TextV
int count = 55;
private int yAxisTop = 0;
private int yAxisB
private Object xAxisL
private Object xAxisR
private ScrollV
private int measuredH',
blogTag:'',
blogUrl:'blog/static/88',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:8,
permalink:'blog/static/88',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'大家好',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}查看:4548|回复:3
助理工程师
助理工程师
android:background=&@drawable/edit&
助理工程师
顶楼上的,可以做一个点9的图片做背景,或者自己重写textview的ondraw方法自绘背景或边框
助理工程师
通过更换背景图片实现
setBackgroundResource

我要回帖

更多关于 android studio 的文章

 

随机推荐