最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android實現(xiàn)進度條(ProgressBar)的功能與用法

 更新時間:2020年08月24日 08:38:01   作者:池頭樹  
這篇文章主要為大家詳細介紹了Android實現(xiàn)進度條(ProgressBar)的功能與用法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

進度條(ProgressBar)的功能與用法,供大家參考,具體內(nèi)容如下

進度條是UI界面中一種實用的UI組件,用于顯示一個耗時操作顯示出來的百分比,進度條可以動態(tài)的顯示進度,避免是用戶覺得系統(tǒng)長時間未反應,提高用戶的體驗。
下面程序簡單示范了進度條的用法,界面布局文件如下:

在layout下的activity_main中:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:orientation="vertical"
  android:layout_height="match_parent"
  tools:context=".Main5Activity">
  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"/>
<!--  定義大環(huán)形進度條-->
  <ProgressBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    style="@android:style/Widget.ProgressBar.Large"/>
<!--  定義中等環(huán)形進度條-->
  <ProgressBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
<!--  定義小環(huán)形進度條-->
  <ProgressBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    style="@android:style/Widget.ProgressBar.Small"/>
  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="任務完成進度條"
    android:textSize="24dp"/>
<!--  定義水平進度條-->
  <ProgressBar
    android:id="@+id/bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:max="100"
    style="@android:style/Widget.ProgressBar.Horizontal"/>
<!--  定義水平進度條,改變軌道外觀-->
  <ProgressBar
    android:id="@+id/bar2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:max="100"
    android:progressDrawable="@drawable/c4"
    style="@android:style/Widget.ProgressBar.Horizontal"/>
</LinearLayout>

在drawable下的文件下的my_bar中:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <!--    定義軌道的背景-->
  <item android:id="@android:id/background"
    android:drawable="@drawable/c4"/>
<!--  定義已完成部分的樣式-->
  <item android:id="@android:id/progress"
    android:drawable="@drawable/c2"/>
</layer-list>

在MainActivity.java中:

package com.example.test03;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ProgressBar;

import java.lang.ref.WeakReference;

public class Main5Activity extends AppCompatActivity {
//  該模擬填充長度為100的數(shù)組
  private int[] data=new int[100];
  private int hasdata=0;
//  記錄ProgressBar的完成進度
  int status=0;
  private ProgressBar bar;
  private ProgressBar bar2;
  static class MyHandler extends Handler{
    private WeakReference<Main5Activity> activity;
    MyHandler(WeakReference<Main5Activity> activity){
      this.activity=activity;
    }

    @Override
    public void handleMessage(@NonNull Message msg) {
//      表明該消息是該程序發(fā)送的
      if (msg.what==0x111){
        activity.get().bar.setProgress(activity.get().status);
        activity.get().bar2.setProgress(activity.get().status);
      }
    }
  }
//  負責更新進度
  MyHandler myHandler=new MyHandler(new WeakReference<>(this));
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main5);
    bar=findViewById(R.id.bar);
    bar2=findViewById(R.id.bar2);
//    啟動線程在執(zhí)行進度
    new Thread(){
      @Override
      public void run() {
        while (status<100){
//          獲取耗時操作的完成百分比
          status=doWork();
//          發(fā)送消息
          myHandler.sendEmptyMessage(0x111);
        }
      }
    }.start();
  }
//  模擬耗時操作
  public int doWork() {
//    為數(shù)組元素賦值
    data[hasdata++] = (int) (Math.random() * 100);
    try {
      Thread.sleep(1000);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
    return hasdata;
  }
}

**以上就介紹到這里,上面簡單實現(xiàn)了一些進度條的方法。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux系統(tǒng)下安裝android sdk的方法步驟

    Linux系統(tǒng)下安裝android sdk的方法步驟

    這篇文章主要介紹了Linux系統(tǒng)下安裝android sdk的方法步驟,文中介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友可以們下面來一起看看吧。
    2017-03-03
  • Android地圖控件之多地圖展示

    Android地圖控件之多地圖展示

    這篇文章主要為大家詳細介紹了Android地圖控件之多地圖展示,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Android 進程間通信實現(xiàn)原理分析

    Android 進程間通信實現(xiàn)原理分析

    只有你允許客戶端從不同的應用程序為了進程間的通信而去訪問你的service,以及想在你的service處理多線程,下面為大家詳細介紹下
    2013-06-06
  • android中圓角圖像生成方法

    android中圓角圖像生成方法

    這篇文章主要介紹了android中圓角圖像生成方法,涉及Android處理圓角圖像的技巧,需要的朋友可以參考下
    2015-04-04
  • Android自定義View Material Design理念詳解

    Android自定義View Material Design理念詳解

    這篇文章主要為大家介紹了Android自定義View Material Design理念詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Android開發(fā)中總結(jié)的Adapter工具類【附完整源碼下載】

    Android開發(fā)中總結(jié)的Adapter工具類【附完整源碼下載】

    這篇文章主要介紹了Android開發(fā)中總結(jié)的Adapter工具類,簡單說明了Adapter的功能,并結(jié)合實例形式分析了Adapter工具類的相關(guān)使用方法,并附帶完整源碼供讀者下載參考,需要的朋友可以參考下
    2017-11-11
  • Android實現(xiàn)掃雷小游戲

    Android實現(xiàn)掃雷小游戲

    這篇文章主要為大家詳細介紹了Android實現(xiàn)掃雷小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • android開發(fā)教程之textview內(nèi)容超出屏幕寬度顯示省略號

    android開發(fā)教程之textview內(nèi)容超出屏幕寬度顯示省略號

    android開發(fā)中用textview顯示內(nèi)容時,顯示內(nèi)容過多可能會折行或顯示不全,那樣效果很不好,我們可以用省略號顯示,下面看設(shè)置方法
    2014-02-02
  • Service Activity的三種交互方式(詳解)

    Service Activity的三種交互方式(詳解)

    下面小編就為大家?guī)硪黄猄ervice Activity的三種交互方式(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • Android基站定位原理及實現(xiàn)代碼

    Android基站定位原理及實現(xiàn)代碼

    Android基站想必大家有所耳聞吧手機通訊過程中距它最近的一個服務站吧,接下來將詳細介紹下Android基站的具體位置獲取,列出了詳細的代碼,感興趣的朋友可以參考下
    2013-03-03

最新評論

临湘市| 宁陕县| 弥渡县| 安达市| 永仁县| 长顺县| 色达县| 修文县| 施秉县| 洛阳市| 庆云县| 仪征市| 东丽区| 丰台区| 正宁县| 黑水县| 杭锦旗| 龙胜| 张家港市| 五莲县| 商都县| 武城县| 嘉黎县| 香河县| 延津县| 绥德县| 洪湖市| 宾川县| 盐池县| 通榆县| 阿拉善盟| 宜阳县| 屏东市| 田阳县| 于都县| 万荣县| 临高县| 夏河县| 南汇区| 呼和浩特市| 通河县|