大家好,我是极客范的本期栏目编辑小友,现在为大家讲解android实现TextView文字倒影效果问题。
今天记录一下带边框的的倒影效果,显示一串文字,然后在文字的下方显示出它的倒影,先上效果图:
最重要的就是视角中getDrawingCache()方法,该方法可以获取躲藏中的图像,然后绘制出来。
废话不多说,我是想写一个带有倒影的时间,时间可以走动。首先先写一个带有时间走动的查看,这个很简单,获取当前时间,然后开启一个线程,隔一秒获取当前时间一次,然后显示在带边框的上,当然,我们写控件,就需要继承文本视图,代码如下:
包裹。com。亚历克斯。reflecttextview
导入Java。乌提尔。日历;
导入安卓。内容。语境;
导入安卓。操作系统。处理程序;
导入安卓。操作系统。消息;
导入安卓。文字。格式。日期格式;
导入安卓。乌提尔。属性集;
导入安卓。小部件。textview
公共类时间视图扩展了文本视图{
private STATic final int MEssage _ TIME=1;
公共时间视图(上下文上下文,属性集属性)
超级(上下文,attrs
新的TimeThread().start();
}
公共类TimeThread扩展了线程{
@覆盖
公共void run(){ 0
做{
尝试{
消息消息=新消息();
什么=消息时间
mhhandler。发送消息(msg);
线。睡眠(1000);
} catch(中断异常){ e
e。print stack trace();
}
} while(true);
}
}
私有处理程序mHandler=新处理程序(){ 0
@覆盖
公共无效句柄消息(消息消息){ 0
超级棒。handlemessage(msg);
开关(味精。什么){ 0
案例消息时间:
setTime();
打破;
默认值:
打破;
}
}
};
public void setTime(){ 0
长Systime=系统。current millis();
日历日历=日历。getinstance();
日历。settimeinmillis(Systime);
字符串sysTime str=Dateformat。格式(“hh :mm”,Systime).toString();
如果(日历。获取(日历AM _ PM)==0){ 0
sysTimeStr="AM"
} else {
sysTimeStr="PM
}
setText(sysTimeStr.replace("1","1"));
}
}
123下一页全文
本文导航第一页:安卓实现带边框的文字倒影效果第2页:2第3页:3