拖动滑块改变图片透明度

1.布局

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2     xmlns:tools="http://schemas.android.com/tools" 3     android:layout_width="match_parent" 4     android:layout_height="match_parent" 5     android:orientation="vertical" 6     tools:context=".AndroidProgerssBarActivity" > 7  8     <TextView 9         android:layout_width="wrap_content"10         android:layout_height="wrap_content"11         android:layout_centerHorizontal="true"12         android:layout_centerVertical="true"13         android:text="任务完成进度" />14 15     <ProgressBar16         android:id="@+id/bar"17         style="@android:style/Widget.ProgressBar.Horizontal"18         android:layout_width="match_parent"19         android:layout_height="wrap_content"20         android:max="100" />21 22     <ProgressBar23         android:id="@+id/bar2"24         style="@android:style/Widget.ProgressBar.Horizontal"25         android:layout_width="match_parent"26         android:layout_height="wrap_content"27         android:max="100"28         android:progressDrawable="@drawable/ic_launcher" >29     </ProgressBar>30 31     <Button32         android:id="@+id/btn1"33         android:layout_width="match_parent"34         android:layout_height="wrap_content"35         android:text="显示进度条" />36      <Button37         android:id="@+id/btn2"38         android:layout_width="match_parent"39         android:layout_height="wrap_content"40         android:text="不显示进度条" />41 42 </LinearLayout>

2.逻辑控制

  1 package com.example.androidprogerssbar;  2   3 import android.os.Bundle;  4 import android.os.Handler;  5 import android.os.Message;  6 import android.app.Activity;  7 import android.view.Menu;  8 import android.view.View;  9 import android.view.View.OnClickListener; 10 import android.view.Window; 11 import android.widget.Button; 12 import android.widget.ProgressBar; 13  14 public class AndroidProgerssBarActivity extends Activity { 15  16     // 模拟填充长度为100的数组 17     private int[] data = new int[100]; 18     int hasData = 0; 19     // 记录ProgressBar完成进度 20     int status = 0; 21  22     @Override 23     protected void onCreate(Bundle savedInstanceState) { 24         super.onCreate(savedInstanceState); 25  26         //设置窗口特征,启用显示进度的进度条 27         requestWindowFeature(Window.FEATURE_PROGRESS); 28         //设置窗口特征,不启用显示进度的进度条 29         requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); 30         setContentView(R.layout.activity_android_progerss_bar); 31         Button btn1=(Button)this.findViewById(R.id.btn1); 32         Button btn2=(Button)this.findViewById(R.id.btn2); 33          34         final ProgressBar bar = (ProgressBar) this.findViewById(R.id.bar); 35         final ProgressBar bar2 = (ProgressBar) this.findViewById(R.id.bar2); 36  37         btn1.setOnClickListener(new OnClickListener() { 38              39             @Override 40             public void onClick(View arg0) { 41                 //显示不带进度的进度条 42                 setProgressBarIndeterminateVisibility(true); 43                 //显示带进度的进度条 44                 setProgressBarVisibility(true); 45                 //设置进度条进度 46                 setProgress(4500); 47             } 48         }); 49          50     btn2.setOnClickListener(new OnClickListener() { 51              52             @Override 53             public void onClick(View arg0) { 54                 //显示不带进度的进度条 55                 setProgressBarIndeterminateVisibility(false); 56                 //显示带进度的进度条 57                 setProgressBarVisibility(false); 58             } 59         }); 60      61         // 创建一个负责更新进度的Handler 62         final Handler handler = new Handler() { 63  64             @Override 65             public void handleMessage(Message msg) { 66                 // 表明消息是由该程序发送的 67                 if (msg.what == 0x111) { 68                     bar.setProgress(status); 69                     bar2.setProgress(status); 70                 } 71             } 72  73         }; 74  75         // 启动线程执行任务 76         new Thread() { 77             public void run() { 78                 while (status < 100) { 79                     // 获得耗时操作的完成百分比 80                     status = doWork(); 81                     // 发送消息到Handler 82                     Message m = new Message(); 83                     m.what = 0x111; 84                     // 发送消息 85                     handler.sendMessage(m); 86                 } 87             } 88         }.start(); 89     } 90  91     // 模拟一个耗时操作 92     public int doWork() { 93         data[hasData++] = (int) (Math.random() * 100); 94         try { 95             Thread.sleep(100); 96         } catch (InterruptedException e) { 97             e.printStackTrace(); 98         } 99         return hasData;100     }101 102     @Override103     public boolean onCreateOptionsMenu(Menu menu) {104         // Inflate the menu; this adds items to the action bar if it is present.105         getMenuInflater().inflate(R.menu.activity_android_progerss_bar, menu);106         return true;107     }108 109 }

进度条ProgressBar

更多相关文章

  1. Android之浮动小窗口
  2. 【Android】对话框之进度条
  3. Android 带进度条自动下载Apk并自动安装
  4. 简单几段代码实现窗口抖动
  5. android实现节点进度条效果
  6. android进度条的使用

随机推荐

  1. 【Android布局】在程序中设置android:gra
  2. Android之RelativeLayout属性
  3. Unity与Android的互相调用
  4. Android与js交互实例
  5. 第三课:android数据相关---文件
  6. Android开发进阶:如何读写Android文件
  7. Android漏洞——将Android恶意代码隐藏在
  8. Android(安卓)常用开发术语
  9. [置顶] 我的Android博文整理汇总
  10. Android(安卓)Drawable Resources系列7: