package com.baobao.sayhello;
import android.app.*;
import android.content.*;
import android.graphics.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import java.util.*;
class mview extends View{//自定义一个叫mview的新类型,继承View
public mview(Context con){//构造(初始化)函数
super(con);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh)
{
//窗口大小改变时触发
super.onSizeChanged(w, h, oldw, oldh);
}
@Override
protected void onDraw(Canvas canvas)
{
//绘图时触发
super.onDraw(canvas);
Paint p=new Paint();
p.setColor(Color.rgb(255,255,0));
p.setTextSize(100);
Calendar c=Calendar.getInstance();//新建日期时间c
c.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));//设定时区(中国)
int y=c.get(Calendar.YEAR),m=c.get(Calendar.MONTH)+1,d=c.get(Calendar.DATE);//获得年月日
canvas.drawText(String.valueOf(y)+"年"+String.valueOf(m)+"月"+String.valueOf(d)+"日",0,100,p);
int h=c.get(Calendar.HOUR),mi=c.get(Calendar.MINUTE),s=c.get(Calendar.SECOND);//获得时分秒
canvas.drawText(String.valueOf(h)+"时"+String.valueOf(mi)+"分"+String.valueOf(s)+"秒",0,200,p);
int w=c.get(Calendar.DAY_OF_WEEK)-1;//获得星期几(0表示周日)
canvas.drawText("周"+String.valueOf(w),0,300,p);
long ms=System.currentTimeMillis();//获得1970年1月1日的凌晨12点距今的毫秒数
p.setTextSize(50);
canvas.drawText("1970年1月1日的凌晨12点距今"+String.valueOf(ms)+"毫秒",0,400,p);
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
//触控屏幕时触发
invalidate();//重画屏幕
return true;//返回真,表示已处理消息
}
}
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
mview view=new mview(this);//新建一个叫view的mview
setContentView(view);//把view设为整个界面
}
}
当手指触屏或滑动时可以看到当前时间在不断变化。
以上获取的时间是12小时制的。24小时制的小时数用Calendar.HOUR_OF_DAY
或者可以获取现在是上午还是下午,计算出24小时制的时间。绘图部分改为:
Paint p=new Paint();
p.setColor(Color.rgb(255,255,0));
p.setTextSize(100);
Calendar c=Calendar.getInstance();//新建日期时间c
c.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));//设定时区(中国)
int h=c.get(Calendar.HOUR);
if(c.get(Calendar.AM_PM)==Calendar.AM)//如果上午
canvas.drawText("上午,24小时制为"+String.valueOf(h)+"时",0,100,p);
else if(c.get(Calendar.AM_PM)==Calendar.PM)//如果下午
canvas.drawText("下午,24小时制为"+String.valueOf(12+h)+"时",0,100,p);