欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android实现带有进度条的按钮效果

程序员文章站 2023-02-22 10:31:39
本文实例为大家分享了android实现带有进度条按钮效果的具体代码,供大家参考,具体内容如下安卓中带有进度条效果的按钮,如下图:1.布局文件如下activity_main.xml

本文实例为大家分享了android实现带有进度条按钮效果的具体代码,供大家参考,具体内容如下

安卓中带有进度条效果的按钮,如下图:

Android实现带有进度条的按钮效果

1.布局文件如下activity_main.xml

<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingbottom="@dimen/activity_vertical_margin"
    android:paddingleft="@dimen/activity_horizontal_margin"
    android:paddingright="@dimen/activity_horizontal_margin"
    android:paddingtop="@dimen/activity_vertical_margin"
    tools:context=".mainactivity" >
 
   <textview
     android:id="@+id/text"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="带有进度条的button" />
 
   <relativelayout
     android:layout_width="fill_parent"
     android:layout_height="50dp"
     android:layout_centerhorizontal="true"
     android:layout_centervertical="true"
     android:gravity="bottom" >
 
     <progressbar
       android:id="@+id/progressbar"
       style="?android:attr/progressbarstylehorizontal"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:background="@drawable/aa_button_gray_normal"
       android:max="100"
       android:progress="0"
       android:progressdrawable="@drawable/progress_selector" />
 
     <button
       android:id="@+id/downloadbtn"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:layout_centerhorizontal="true"
       android:layout_centervertical="true"
       android:background="@drawable/btn_selector"
       android:text="下载" />
   </relativelayout>
 
</relativelayout>

2.java主界面代码如下:mainactivity.java

package com.example.buttondemo;
 
import android.app.activity;
import android.os.bundle;
import android.os.handler;
import android.os.message;
import android.view.view;
import android.widget.button;
import android.widget.progressbar;
import android.widget.textview;
 
 public class mainactivity extends activity {
   int i = 0;
   progressbar progressbar = null;
   button downloadbtn = null;
   handler handler = new handler() {
     public void handlemessage(android.os.message msg) {
       switch (msg.what) {
       case 1:
         i += 5;
         progressbar.setprogress(i);
         if (i != 100) {
           handler.sendemptymessagedelayed(new message().what = 1, 500);
           downloadbtn.settext(i + "%");
         } else if (i == 100) {
           downloadbtn.settext("下载完成");
           // 进度条运行完成时按钮可用
           downloadbtn.setenabled(true);
         }
         break;
 
       default:
         break;
       }
     };
   };
 
   @override
   protected void oncreate(bundle savedinstancestate) {
     super.oncreate(savedinstancestate);
     setcontentview(r.layout.activity_main);
     textview tx = (textview) findviewbyid(r.id.text);
     progressbar = (progressbar) findviewbyid(r.id.progressbar);
     downloadbtn = (button) findviewbyid(r.id.downloadbtn);
     downloadbtn.setonclicklistener(new view.onclicklistener() {
 
       @override
       public void onclick(view v) {
         i = 0;
         handler.sendemptymessage(new message().what = 1);
         // 进度条运行时按钮不可用
         downloadbtn.setenabled(false);
       }
     });
   }
 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。