Android 开发第六弹:简易时钟(计时器)

接上篇Android 开发第五弹:简易时钟(闹钟) ,这次是一个时钟类应用,目前依旧是主要的功能,长得还是很挫。当然了,核心功能是有的……

时钟

先把简单的时钟给列出来吧,这里都写的很简单,即便要用世界各个城市的话,也只是相应的加上或减去几个小时。

新建TimeView类,并扩展自LinearLayout,然后布局文件和上一篇中那么写就好了。

<myapplicationandroid : id = “@+id/tabTime”android : layout_width = “match_parent”android : layout_height = “match_parent”android : orientation = “vertical”><TextViewandroid : id = “@+id/tvTime”android : textAppearance = “?android:attr/textAppearanceLarge”android : layout_width = “match_parent”android : layout_height = “match_parent”android : gravity = “center” / ></myapplication> // 实例化TextView控件private TextView tvTime;public TimeView(Context context) {super(context);}public TimeView(Context context, AttributeSet attrs) {super(context, attrs);}public TimeView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);}(){super.onFinishInflate();tvTime = (TextView)findViewById(R.id.tvTime);tvTime.setText(“H”);timeHandler.sendEmptyMessage(0);}private Handler timeHandler = new Handler() {(Message msg){// 刷新时间refreshTime();if(getVisibility() == View.VISIBLE){timeHandler.sendEmptyMessageDelayed(0, 1000);}}};(){Calendar c = Calendar.getInstance();// 试着显示的时间格式 tvTime.setText(String.format(“%d:%d:%d”,c.get(Calendar.HOUR_OF_DAY),c.get(Calendar.MINUTE),c.get(Calendar.SECOND)));}(View changedView, int visibility) {super.onVisibilityChanged(changedView, visibility);if(visibility == View.VISIBLE){timeHandler.sendEmptyMessage(0);}else{timeHandler.removeMessages(0);}}

就这些了,下面正式开始计时器的部分。

TimerView

TimerView类同样是扩展自LinearLayout,并且布局的写法也是如出一辙:

<myapplication.nomasp.com.clock.TimerViewandroid : id = “@+id/tabTimer”android : layout_width = “match_parent”android : layout_height = “match_parent”android : orientation = “vertical”><LinearLayoutandroid : orientation = “horizontal”android : layout_width = “match_parent”android : layout_height = “wrap_content”><EditTextandroid : id = “@+id/etHour”android : inputType = “number”android : textAppearance = “?android:attr/textAppearanceLarge”android : layout_width = “0dp”android : layout_height = “wrap_content”android : layout_weight = “1”android : singleLine = “true” / >android:singleLine = “true” / ><TextViewandroid : textAppearance = “?android:attr/textAppearanceLarge”android : layout_width = “wrap_content”android : layout_height = “wrap_content”android : text = “:” / ><EditTextandroid : id = “@+id/etMinute”android : inputType = “number”android : textAppearance = “?android:attr/textAppearanceLarge”android : layout_width = “0dp”android : layout_height = “wrap_content”android : layout_weight = “1”android : singleLine = “true” / ><TextViewandroid : textAppearance = “?android:attr/textAppearanceLarge”android : layout_width = “wrap_content”android : layout_height = “wrap_content”android : text = “:” / ><EditTextandroid : id = “@+id/etSecond”android : inputType = “number”android : textAppearance = “?android:attr/textAppearanceLarge”android : layout_width = “0dp”android : layout_height = “wrap_content”android : layout_weight = “1”android : singleLine = “true” / >< / LinearLayout><LinearLayoutandroid : id = “@+id/llBtnGroup”android : layout_width = “match_parent”android : layout_height = “wrap_content”android : orientation = “horizontal”><Buttonandroid : id = “@+id/btnStart”android : layout_width = “0dp”android : layout_height = “wrap_content”android : layout_weight = “1”android : text = “@string/start” / ><Buttonandroid : id = “@+id/btnPause”android : layout_width = “0dp”android : layout_height = “wrap_content”android : layout_weight = “1”android : text = “@string/pause” / ><Buttonandroid : id = “@+id/btnResume”android : layout_width = “0dp”android : layout_height = “wrap_content”android : layout_weight = “1”android : text = “@string/resume” / ><Buttonandroid : id = “@+id/btnReset”android : layout_width = “0dp”android : layout_height = “wrap_content”android : layout_weight = “1”android : text = “@string/reset” / >< / LinearLayout></myapplication.nomasp.com.clock.TimerView>而是自己。在你成功地把自己推销给别人之前,

Android 开发第六弹:简易时钟(计时器)

相关文章:

你感兴趣的文章:

标签云: