1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android 字体倒影 android实现TextView文字倒影效果

android 字体倒影 android实现TextView文字倒影效果

时间:2024-07-02 21:34:46

相关推荐

android 字体倒影 android实现TextView文字倒影效果

今天记录一下TextView的倒影效果,显示一串文字,然后在文字的下方显示出它的倒影,先上效果图:

最重要的就是View中getDrawingCache()方法,该方法可以获取cache中的图像,然后绘制出来。

废话不多说,我是想写一个带有倒影的时间,时间可以走动。首先先写一个带有时间走动的View,这个很简单,获取当前时间,然后开启一个线程,隔一秒获取当前时间一次,然后显示在TextView上,当然,我们写控件,就需要继承TextView,代码如下:

package com.alex.reflecttextview;

import java.uTIl.Calendar;

import android.content.Context;

import android.os.Handler;

import android.os.Message;

import android.text.format.DateFormat;

import android.uTIl.AttributeSet;

import android.widget.TextView;

public class TImeView extends TextView {

private staTIc final int MESSAGE_TIME = 1;

public TimeView(Context context, AttributeSet attrs) {

super(context, attrs);

new TimeThread().start();

}

public class TimeThread extends Thread {

@Override

public void run() {

do {

try {

Message msg = new Message();

msg.what = MESSAGE_TIME;

mHandler.sendMessage(msg);

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

} while (true);

}

}

private Handler mHandler = new Handler() {

@Override

public void handleMessage(Message msg) {

super.handleMessage(msg);

switch (msg.what) {

case MESSAGE_TIME:

setTime();

break;

default:

break;

}

}

};

public void setTime() {

long sysTime = System.currentTimeMillis();

Calendar calendar = Calendar.getInstance();

calendar.setTimeInMillis(sysTime);

String sysTimeStr = DateFormat.format(“hh:mm”, sysTime).toString();

if(calendar.get(Calendar.AM_PM) == 0) {

sysTimeStr += “ AM”;

} else {

sysTimeStr += “ PM”;

}

setText(sysTimeStr.replace(“1”, “ 1”));

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。