生活随笔
收集整理的這篇文章主要介紹了
【Android】MyTool工具界面:秒表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- MyTool 工具界面:秒表計時
- ? 回顧
- ? 設置 activity_my_tool.xml 界面
- ? 編寫 MyToolActivity 實現功能界面跳轉
- ? 創建 activity_time_count.xml 秒表界面
- ? 編寫 TimeCountActivity 實現功能
- ? 配置 AndroidManifest.xml 添加權限
- ? 檢測
MyTool 工具界面:秒表計時
? 回顧
通過上一節的學習,我們實現了工具界面手電筒功能的實現,如下圖所示。今天,要在這個界面中實現一個新的功能秒表計時。
返回頂部
? 設置 activity_my_tool.xml 界面
<Buttonandroid:id="@+id/timecount"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:layout_marginTop="250dp"android:text="秒表" android:textSize="16dp"/>
返回頂部
? 編寫 MyToolActivity 實現功能界面跳轉
public class MyToolActivity extends AppCompatActivity {TextView welcome
;Button net
, call
, quick_call
,flashlight
,timecount
;private static String[] PERMISSIONS_STORAGE
= {Manifest.permission
.CALL_PHONE
};private static int REQUEST_PERMISSION_CODE
= 1;@Overrideprotected void onCreate(Bundle savedInstanceState
) {super.onCreate(savedInstanceState
);setContentView(R.layout
.activity_my_tool
);.........................net
= findViewById(R.id
.net
);call
= findViewById(R.id
.call
);quick_call
= findViewById(R.id
.quick_call
);flashlight
= findViewById(R.id
.flashlight
);timecount
= findViewById(R.id
.timecount
);.........................timecount
.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v
) {Intent intent
= new Intent();intent
.setClass(MyToolActivity.this,TimeCountActivity.class);startActivity(intent
);}});}
}
返回頂部
? 創建 activity_time_count.xml 秒表界面
- 基本布局、背景
- 添加計時顯示、開始、暫停、重置按鈕組件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.myapplication.TimeCountActivity"android:background="@drawable/main_page"><TextViewandroid:id="@+id/textView2" 標題android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentStart="true"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:layout_marginStart="176dp"android:layout_marginLeft="176dp"android:layout_marginTop="100dp"android:text="秒 表"android:textStyle="bold"android:textSize="20dp"android:textColor="@android:color/white"/><Chronometer 秒表計時顯示器 --- 這個組件沒找到,直接手打android:id="@+id/chronometer"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentStart="true"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:layout_marginStart="129dp"android:layout_marginLeft="129dp"android:layout_marginTop="183dp"android:layout_marginBottom="98dp"android:text="01:00"android:textColor="@android:color/white"android:textSize="60dp" /><Button 開始android:id="@+id/begin"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentStart="true"android:layout_alignParentLeft="true"android:layout_alignParentBottom="true"android:layout_marginStart="35dp"android:layout_marginLeft="35dp"android:layout_marginBottom="240dp"android:text="開始" /><Buttonandroid:id="@+id/stop" 暫停android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentEnd="true"android:layout_alignParentRight="true"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"android:layout_marginEnd="161dp"android:layout_marginRight="161dp"android:layout_marginBottom="240dp"android:text="暫停" /><Button 重置android:id="@+id/restart"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentEnd="true"android:layout_alignParentRight="true"android:layout_alignParentBottom="true"android:layout_marginEnd="35dp"android:layout_marginRight="35dp"android:layout_marginBottom="240dp"android:text="重置" /></RelativeLayout>
返回頂部
? 編寫 TimeCountActivity 實現功能
- 在Android的SDK中,為我們提供了一個計時器,這個計時器稱為Chronometer。(具體功能)
- Vibrator手機震動
package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.os.SystemClock;
import android.os.Vibrator;
import android.view.View;
import android.widget.Button;
import android.widget.Chronometer;import com.example.myapplication_test.R;public class TimeCountActivity extends AppCompatActivity {Button begin
,stop
,restart
;Chronometer chronometer
; Vibrator vibrator
; long waitTime
; @Overrideprotected void onCreate(Bundle savedInstanceState
) {super.onCreate(savedInstanceState
);setContentView(R.layout
.activity_time_count
);begin
= findViewById(R.id
.begin
);stop
= findViewById(R.id
.stop
);restart
= findViewById(R.id
.restart
);chronometer
= findViewById(R.id
.chronometer
);vibrator
= (Vibrator)this.getSystemService(VIBRATOR_SERVICE
);begin
.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v
) {chronometer
.start();begin
.setEnabled(false);stop
.setEnabled(true);restart
.setEnabled(false);begin
.setText("繼續");chronometer
.setBase(SystemClock.elapsedRealtime()-waitTime
);}});stop
.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v
) {chronometer
.stop();begin
.setEnabled(true);stop
.setEnabled(false);restart
.setEnabled(true);waitTime
= SystemClock.elapsedRealtime() - chronometer
.getBase();}});restart
.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v
) {waitTime
= 0;begin
.setEnabled(true);begin
.setText("開始");stop
.setEnabled(false);restart
.setEnabled(false);chronometer
.setBase(SystemClock.elapsedRealtime());}});chronometer
.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener(){@Overridepublic void onChronometerTick(Chronometer chronometer
) {String time
= chronometer
.getText().toString();int newTime
= Integer.parseInt(time
.substring(0,time
.indexOf(":")))*60 +Integer.parseInt(time
.substring(time
.length()-2));if (newTime
%10==0 && newTime
!=0){vibrator
.vibrate(new long[]{0,500},-1); }}});}
}
返回頂部
? 配置 AndroidManifest.xml 添加權限
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.myapplication_test"><uses-permission android:name="android.permission.CALL_PHONE" /><uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.FLASHLIGHT" /><uses-permission android:name="android.permission.VIBRATE" /><uses-permission android:name="android.permission.VIBRATOR" /><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name="com.example.myapplication.TimeCountActivity"></activity><activity android:name="com.example.myapplication.FlashLightActivity" /><activity android:name="com.example.myapplication.MyToolActivity" /><activity android:name="com.example.myapplication.MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>
返回頂部
? 檢測
計時器檢測
返回頂部
上一篇:MyTool 工具界面:手電筒????????????????????????????????????????????????????????下一篇:MyTool工具界面:秒表計錄
總結
以上是生活随笔為你收集整理的【Android】MyTool工具界面:秒表的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。