Android編程之簡(jiǎn)單計(jì)時(shí)器實(shí)現(xiàn)方法
本文實(shí)例講述了Android編程之簡(jiǎn)單計(jì)時(shí)器實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
這里利用ContextMenu(上下文菜單),Chronometer實(shí)現(xiàn)簡(jiǎn)單計(jì)數(shù)器。
Main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width= "fill_parent" android:layout_height = "fill_parent" android:gravity = "center_horizontal" > <Chronometer android:id ="@+id/chronometer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:format="%s" android:textSize="80px" android:textColor="#00FF00" /> </LinearLayout >
/layout/menu/context_menu.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/timer_start" android:title=" 開(kāi)始計(jì)時(shí) " /> <item android:id="@+id/timer_stop" android:title=" 終止計(jì)時(shí) " /> <item android:id="@+id/timer_reset" android:title=" 清零 " /> </menu>
主Activity:
public class MainActivity extends Activity {
private Chronometer timer;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 獲得計(jì)時(shí)器對(duì)象
timer = (Chronometer)this.findViewById(R.id.chronometer);
//長(zhǎng)按計(jì)時(shí)器時(shí),出現(xiàn)上下文菜單
this.registerForContextMenu(timer);
}
//創(chuàng)建上下文菜單
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo)
{
super.onCreateContextMenu(menu, v, menuInfo);
// ContextMenu的Item不支持Icon,所以不用再資源文件中,為它們?cè)O(shè)定圖標(biāo)
if (v.getId() == R.id.chronometer)
{
//加載xml菜單布局文件
this.getMenuInflater().inflate(R.menu.context_menu, menu);
// 設(shè)定頭部圖標(biāo)
menu.setHeaderIcon(R.drawable.icon);
// 設(shè)定頭部標(biāo)題
menu.setHeaderTitle(" 計(jì)時(shí)器控制選項(xiàng) ");
}
}
//選擇菜單項(xiàng)后的響應(yīng)
@Override
public boolean onContextItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.timer_start:
// 將計(jì)時(shí)器清零
timer.setBase(SystemClock.elapsedRealtime());
//開(kāi)始計(jì)時(shí)
timer.start();
break;
case R.id.timer_stop:
//停止計(jì)時(shí)
timer.stop();
break;
case R.id.timer_reset:
//將計(jì)時(shí)器清零
timer.setBase(SystemClock.elapsedRealtime());
break;
}
return super.onContextItemSelected(item);
}
}
運(yùn)行結(jié)果如圖所示:

長(zhǎng)按計(jì)時(shí)器彈出上下文菜單選擇開(kāi)始計(jì)時(shí):

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- android之計(jì)時(shí)器(Chronometer)的使用以及常用的方法
- Android時(shí)分秒計(jì)時(shí)器的兩種實(shí)現(xiàn)方法
- android計(jì)時(shí)器,時(shí)間計(jì)算器的實(shí)現(xiàn)方法
- android開(kāi)發(fā)教程之間隔執(zhí)行程序(android計(jì)時(shí)器)
- Android實(shí)現(xiàn)的秒表計(jì)時(shí)器示例
- Android計(jì)時(shí)器的三種實(shí)現(xiàn)方式(Chronometer、Timer、handler)
- Android 編程下的計(jì)時(shí)器代碼
- Android開(kāi)發(fā)實(shí)現(xiàn)的計(jì)時(shí)器功能示例
- Android中CountDownTimer倒計(jì)時(shí)器用法實(shí)例
- Android實(shí)現(xiàn)計(jì)時(shí)器功能
相關(guān)文章
android自定義View實(shí)現(xiàn)手勢(shì)解鎖
這篇文章主要為大家詳細(xì)介紹了android自定義View實(shí)現(xiàn)手勢(shì)解鎖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
Eclipse新建Android項(xiàng)目報(bào)錯(cuò)解決方案詳細(xì)匯總
這篇文章主要介紹了Eclipse新建Android項(xiàng)目報(bào)錯(cuò)解決方案詳細(xì)匯總,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
activity控制對(duì)話框風(fēng)格、顯示大小與位置
對(duì)于對(duì)話框風(fēng)格大家普遍使用PopupWindow,也有許多朋友開(kāi)發(fā)設(shè)計(jì)時(shí)使用的是activity對(duì)話框方式,因此,本文對(duì)如何通過(guò)activity實(shí)現(xiàn)與PopupWindow相同的效果進(jìn)行詳細(xì)介紹,具有很好的參考價(jià)值,需要的朋友一起來(lái)看下吧2016-12-12
Android應(yīng)用中使用ViewPager和ViewPager指示器來(lái)制作Tab標(biāo)簽
這篇文章主要介紹了Android中使用ViewPager和ViewPager指示器來(lái)制作Tab標(biāo)簽的方法,ViewPager指示器ViewPageIndicator是一個(gè)開(kāi)源庫(kù),文中舉了一個(gè)仿網(wǎng)易新聞客戶端Tab標(biāo)簽的例子,需要的朋友可以參考下2016-03-03
Android實(shí)現(xiàn)動(dòng)態(tài)自動(dòng)匹配輸入內(nèi)容
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)動(dòng)態(tài)自動(dòng)匹配輸入內(nèi)容,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08
Android初學(xué)者必須知道的10個(gè)技術(shù)
本篇內(nèi)容給大家整理10個(gè)作為Android初學(xué)者必須要了解和會(huì)用的技術(shù)以及詳細(xì)代碼分析,需要的朋友收藏下慢慢學(xué)習(xí)吧。2017-12-12
Android實(shí)現(xiàn)畫(huà)板功能(一)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)畫(huà)板功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05
基于Android AIDL進(jìn)程間通信接口使用介紹
本篇文章小編為大家介紹,基于Android AIDL進(jìn)程間通信接口使用介紹。需要的朋友參考下2013-04-04
Flutter 用自定義轉(zhuǎn)場(chǎng)動(dòng)畫(huà)實(shí)現(xiàn)頁(yè)面切換
本篇介紹了 fluro 導(dǎo)航到其他頁(yè)面的自定義轉(zhuǎn)場(chǎng)動(dòng)畫(huà)實(shí)現(xiàn),F(xiàn)lutter本身提供了不少預(yù)定義的轉(zhuǎn)場(chǎng)動(dòng)畫(huà),可以通過(guò) transitionBuilder 參數(shù)設(shè)計(jì)多種多樣的轉(zhuǎn)場(chǎng)動(dòng)畫(huà),也可以通過(guò)自定義的 AnimatedWidget實(shí)現(xiàn)個(gè)性化的轉(zhuǎn)場(chǎng)動(dòng)畫(huà)效果。2021-06-06
Android實(shí)現(xiàn)EditText添加下劃線
這篇文章主要為大家詳細(xì)介紹了Android如何實(shí)現(xiàn)給EditText添加下劃線,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08

