日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android】MyTool工具界面:秒表

發布時間:2023/12/20 Android 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【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 開始時可以停止,重置、開始不可點begin.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// 計時開始chronometer.start();// 設置按鈕begin.setEnabled(false);stop.setEnabled(true);restart.setEnabled(false);// 開始后,如果點了暫停,還要接著計時,就“繼續”begin.setText("繼續");// 實際上計時器上顯示的時間// SystemClock.elapsedRealtime() 返回系統啟動到現在的毫秒數,包含休眠時間。// chronometer.setBase() 設置計時器的時間,一開始waitTime=0,所以就是現實真實的計時時間chronometer.setBase(SystemClock.elapsedRealtime()-waitTime);}});// stop 停止時,可以繼續,也可以重置,但不可以再次停止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類型數值計算成秒int newTime = Integer.parseInt(time.substring(0,time.indexOf(":")))*60 +Integer.parseInt(time.substring(time.length()-2));// 每整十秒震動一次,一次0.5秒if (newTime%10==0 && newTime!=0){vibrator.vibrate(new long[]{0,500},-1); // 震動一下0.5秒 -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工具界面:秒表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。