国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android多功能時鐘開發案例(基礎篇)

2019-12-12 06:18:01
字體:
來源:轉載
供稿:網友

本文我們進入Android多功能時鐘開發實戰學習,具體的效果可以參考手機上的時鐘,內容如下
首先我們來看一看布局文件layout_main.xml

整個布局:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:id="@+id/container"  android:layout_width="match_parent"  android:layout_height="match_parent" >   <TabHost   android:id="@android:id/tabhost"   android:layout_width="match_parent"   android:layout_height="match_parent" >    <LinearLayout    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >     <TabWidget     android:id="@android:id/tabs"     android:layout_width="match_parent"     android:layout_height="wrap_content" >    </TabWidget>     <FrameLayout     android:id="@android:id/tabcontent"     android:layout_width="match_parent"     android:layout_height="match_parent" >      <com.example.clock.TimeView      android:id="@+id/tabTime"      android:layout_width="match_parent"      android:layout_height="match_parent"      android:orientation="vertical" >     </com.example.clock.TimeView>      <com.example.clock.AlarmView      android:id="@+id/tabAlarm"      android:layout_width="match_parent"      android:layout_height="match_parent"      android:orientation="vertical" > <span style="white-space:pre">  </span>……     </com.example.clock.AlarmView>      <com.example.clock.TimerView      android:id="@+id/tabTimer"      android:layout_width="match_parent"      android:layout_height="match_parent"      android:orientation="vertical" > <span style="white-space:pre">  </span>……     </com.example.clock.TimerView>      <com.example.clock.StopWatchView      android:id="@+id/tabStopWatch"      android:layout_width="match_parent"      android:layout_height="match_parent"      android:orientation="vertical" > <span style="white-space:pre">  </span>……     </com.example.clock.StopWatchView>    </FrameLayout>   </LinearLayout>  </TabHost>  </FrameLayout> 

 整個布局整的是一個FrameLayout,我們在里面放了一個TabHost,接下來我們就可以在里面直接添加自己想要的布局了,可能初學者初一看會有那么一個疑問,就是<com.example.clock.……></com.example.clock.……>這個是什么東西??這是一個自定義的控件,我們創建的一個繼承了LinearLayout的一個類(講解可以參考這里//m.survivalescaperooms.com/article/85515.htm),上面我們看到了四個這樣的標簽,表示我們有四個這樣的Tab頁面。關于布局的東西這里就不多講了,之后會把我自己在學習過程中的一些不懂,以及相關的知識點上傳到資源中,大家可以下載來看看。

完整的布局文件代碼:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:id="@+id/container"  android:layout_width="match_parent"  android:layout_height="match_parent" >   <TabHost   android:id="@android:id/tabhost"   android:layout_width="match_parent"   android:layout_height="match_parent" >    <LinearLayout    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >     <TabWidget     android:id="@android:id/tabs"     android:layout_width="match_parent"     android:layout_height="wrap_content" >    </TabWidget>     <FrameLayout     android:id="@android:id/tabcontent"     android:layout_width="match_parent"     android:layout_height="match_parent" >      <com.example.clock.TimeView      android:id="@+id/tabTime"      android:layout_width="match_parent"      android:layout_height="match_parent"      android:orientation="vertical" >       <TextView       android:id="@+id/tvTime"       android:layout_width="fill_parent"       android:layout_height="fill_parent"       android:gravity="center"       android:textAppearance="?android:attr/textAppearanceLarge" />     </com.example.clock.TimeView>      <com.example.clock.AlarmView      android:id="@+id/tabAlarm"      android:layout_width="match_parent"      android:layout_height="match_parent"      android:orientation="vertical" >       <ListView       android:id="@+id/lvListAlarm"       android:layout_width="fill_parent"       android:layout_height="0dp"       android:layout_weight="1" >      </ListView>       <Button       android:id="@+id/btnAddAlarm"       android:layout_width="fill_parent"       android:layout_height="wrap_content"       android:text="@string/add_alarm" >      </Button>     </com.example.clock.AlarmView>      <com.example.clock.TimerView      android:id="@+id/tabTimer"      android:layout_width="match_parent"      android:layout_height="match_parent"      android:orientation="vertical" >       <LinearLayout       android:layout_width="fill_parent"       android:layout_height="0dp"       android:layout_weight="1"       android:orientation="horizontal" >        <EditText        android:id="@+id/etHour"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"        android:inputType="number"        android:singleLine="true"        android:textAppearance="?android:attr/textAppearanceLarge" />        <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text=":"        android:textAppearance="?android:attr/textAppearanceLarge" />        <EditText        android:id="@+id/etMin"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"        android:inputType="number"        android:singleLine="true"        android:textAppearance="?android:attr/textAppearanceLarge" />        <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text=":"        android:textAppearance="?android:attr/textAppearanceLarge" />        <EditText        android:id="@+id/etSec"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"        android:inputType="number"        android:singleLine="true"        android:textAppearance="?android:attr/textAppearanceLarge" />      </LinearLayout>       <LinearLayout       android:id="@+id/btnGroup"       android:layout_width="fill_parent"       android:layout_height="wrap_content"       android:orientation="horizontal" >        <Button        android:id="@+id/btnStart"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"        android:text="@string/start" />        <Button        android:id="@+id/btnPause"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"        android:text="@string/pause" />        <Button        android:id="@+id/btnResume"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"        android:text="@string/resume" />        <Button        android:id="@+id/btnReset"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"        android:text="@string/reset" />      </LinearLayout>     </com.example.clock.TimerView>      <com.example.clock.StopWatchView      android:id="@+id/tabStopWatch"      android:layout_width="match_parent"      android:layout_height="match_parent"      android:orientation="vertical" >       <LinearLayout       android:layout_width="fill_parent"       android:layout_height="wrap_content"       android:orientation="horizontal" >        <TextView        android:id="@+id/timeHour"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"        android:textAppearance="?android:attr/textAppearanceLarge" />        <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text=":"        android:textAppearance="?android:attr/textAppearanceLarge" />        <TextView        android:id="@+id/timeMin"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"        android:textAppearance="?android:attr/textAppearanceLarge" />        <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text=":"        android:textAppearance="?android:attr/textAppearanceLarge" />        <TextView        android:id="@+id/timeSec"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"        android:textAppearance="?android:attr/textAppearanceLarge" />        <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="."        android:textAppearance="?android:attr/textAppearanceLarge" />        <TextView        android:id="@+id/timeMsec"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"        android:textAppearance="?android:attr/textAppearanceLarge" />      </LinearLayout>       <ListView       android:id="@+id/lvWatchTime"       android:layout_width="fill_parent"       android:layout_height="0dp"       android:layout_weight="1" >      </ListView>       <LinearLayout       android:layout_width="fill_parent"       android:layout_height="wrap_content"       android:orientation="horizontal" >        <Button        android:id="@+id/btnSWStart"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"        android:text="@string/start" />        <Button        android:id="@+id/btnSWPause"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"        android:text="@string/pause" />        <Button        android:id="@+id/btnSWResume"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"        android:text="@string/resume" />        <Button        android:id="@+id/btnSWLap"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"        android:text="@string/lap" />        <Button        android:id="@+id/btnSWReset"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1"        android:text="@string/reset" />      </LinearLayout>     </com.example.clock.StopWatchView>    </FrameLayout>   </LinearLayout>  </TabHost>  </FrameLayout> 

講完了布局,我們來講講MainActivity

private TabHost tabHost;  @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);   tabHost = (TabHost) findViewById(android.R.id.tabhost);  tabHost.setup();   // 為TabHost添加標簽  // 新建一個newTabSpec(newTabSpec)用來指定該標簽的id(就是用來區分標簽)的  // 設置其標簽和圖表(setIndicator)  // 設置內容(setContent)  /*   * 設置選項卡 : -- 設置按鈕名稱 : setIndicator(時鐘); -- 設置選項卡內容 : setContent(),   * 可以設置視圖組件, 可以設置Activity, 也可以設置Fragement;   */  tabHost.addTab(tabHost.newTabSpec("tabTime").setIndicator("時鐘")    .setContent(R.id.tabTime));  tabHost.addTab(tabHost.newTabSpec("tabAlarm").setIndicator("鬧鐘")    .setContent(R.id.tabAlarm));  tabHost.addTab(tabHost.newTabSpec("tabTimer").setIndicator("計時器")    .setContent(R.id.tabTimer));  tabHost.addTab(tabHost.newTabSpec("tabStopWatch").setIndicator("秒表")    .setContent(R.id.tabStopWatch)); } 

在MainActivity中主要的操作就是設置TabHost,上面的代碼中已經貼上了解釋,這里就不講了,接下來一篇我們就重點來講講時鐘、鬧鐘、計時器和秒表這四部分,希望大家繼續學習。

以上就是本文的全部內容,希望對大家學習Android軟件編程有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嵊泗县| 桃园县| 睢宁县| 廊坊市| 长岭县| 阿拉善左旗| 延边| 克拉玛依市| 彭水| 长阳| 开化县| 礼泉县| 南昌县| 周至县| 若羌县| 宁化县| 潞西市| 昌邑市| 华坪县| 武清区| 宿迁市| 潜山县| 定襄县| 沁水县| 黑山县| 六安市| 女性| 大足县| 胶州市| 涞水县| 鄄城县| 临桂县| 湖北省| 武安市| 乐清市| 大竹县| 长沙市| 定南县| 太湖县| 乾安县| 岑巩县|