带有进度条的Button

来源:互联网 发布:上海软件研发质量咨询 编辑:程序博客网 时间:2024/04/29 19:01

   



好久没更新了,自己自学,一直都感觉很迷茫,但是幸好有小伙伴们的支持和鼓励

自己还是决定坚持,更新博客虽然不能像大神们一样写一些什么很精髓的等系,

但是这些是自己遇到的问题,所以边学习边记录下来。


带有进度条的Button。

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>


使用Handler方法,让进度条动起来

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("下载完成");}break;default:break;}};};

@Overrideprotected 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() {@Overridepublic void onClick(View v) {i = 0;handler.sendEmptyMessage(new Message().what = 1);}});}



源代码:

点击打开链接

0 0
原创粉丝点击