ProgressBar
来源:互联网 发布:康奈尔大学学费知乎 编辑:程序博客网 时间:2024/05/18 00:15
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/btn" /> <ProgressBar android:id="@+id/progressbar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="invisible"/> <Button android:id="@+id/btnprogressbar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/btnprogressbar" /> <!--小 --> <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" style="@android:style/Widget.ProgressBar.Small"/> <!--中 --> <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" style="@android:style/Widget.ProgressBar.Inverse"/> <!--大 --> <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" style="@android:style/Widget.ProgressBar.Large"/> <!--水平进度条 --> <ProgressBar android:id="@+id/pd2" android:max="100" android:layout_width="match_parent" android:layout_height="wrap_content" style="@android:style/Widget.ProgressBar.Horizontal"/></LinearLayout>
MainActivity.java
import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.app.Activity;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ProgressBar;import android.widget.Toast;public class MainActivity extends Activity { private Button btn; private ProgressBar pbl; private Button btnprogressBar; //水平进度条 private ProgressBar pbl2; //水平进度条的最大值 private int max=100; //水平进度条默认从0 int currentProgress=0; Handler myhandler=new Handler(){ public void handleMessage(Message msg) { if (msg.what==0) { pbl.setVisibility(View.VISIBLE); }else if (msg.what==1){ pbl.setVisibility(View.GONE); Toast.makeText(MainActivity.this, "加载成功", Toast.LENGTH_SHORT).show(); }else if (msg.what==2){//更新水平进度条 pbl2.setProgress(currentProgress); } }; }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn=(Button) findViewById(R.id.btn); btn.setOnClickListener(new MyOnClickListener()); pbl=(ProgressBar) findViewById(R.id.progressbar); btnprogressBar=(Button) findViewById(R.id.btnprogressbar); btnprogressBar.setOnClickListener(new MyOnClickListenerImpl()); //水平进度条 pbl2=(ProgressBar) findViewById(R.id.pd2); new Thread(){ @Override public void run() { while (currentProgress<max) { loadData2(); myhandler.sendEmptyMessage(2); } } }.start(); } /** * 加载提示 * @author Administrator * */ private class MyOnClickListener implements OnClickListener{ @Override public void onClick(View v) { Toast myToast=Toast.makeText(MainActivity.this, "自定义", Toast.LENGTH_LONG); //获取视图 LinearLayout toastview=(LinearLayout) myToast.getView(); ImageView img=new ImageView(MainActivity.this); img.setImageResource(R.drawable.ic_launcher);//添加图片 toastview.addView(img,0);//将图片添加到视图中 0图片在汉字上面 1图片在汉字下面 myToast.show(); } } private class MyOnClickListenerImpl implements OnClickListener{ @Override public void onClick(View v) { myhandler.sendEmptyMessage(0); new Thread(){ @Override public void run() { loadData(); myhandler.sendEmptyMessage(1); } }.start(); } } /** * 加载数据 */ private void loadData(){ try { Thread.sleep(5000);//休息时间 } catch (InterruptedException e) { e.printStackTrace(); } } private int loadData2(){ try { Thread.sleep(500); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } return currentProgress++; }}
效果前:
效果后:
0 0
- ProgressBar
- progressbar
- ProgressBar
- progressbar
- Progressbar
- progressbar
- progressbar
- ProgressBar
- ProgressBar
- progressBar
- ProgressBar
- ProgressBar
- progressbar
- ProgressBar
- ProgressBar
- ProgressBar
- ProgressBar
- ProgressBar
- 初步学习Java 第一天课程
- socketpair使用
- 反转单项链表
- zoj 1003 Crashing Balloon(整数分解应用)
- iOS —— 网络封包分析工具 Charles (一)
- ProgressBar
- 欢迎使用CSDN-markdown编辑器
- BIM 360 Glue API: 用cURL或PostMan实现登陆和获取项目列表的功能
- Android安全机制--操作系统安全机制-进程、用户与文件安全
- 使用sqoop将MySQL数据库中的数据导入Hbase
- 基于Hexo 框架的 静态博客搭建
- POJ 2586 Y2K Accounting Bug
- 让邮件飞一会儿
- 对于一个文件夹中的所有txt文件进行遍历的程序