Android控件之ProgressBar(进度条),ToggleButton/SwitchBar(开关按钮),SeekBar(拖动条)/RatingBar(等级评分)

1.ProgerssBar(进度条)

     平时我们在下载东西的时候都会遇见进度条,进度条主要分为两种,一种是圆形的进度条还有一种是矩形的进度条。怎么去得到它们呢,在写控件的时候都是写ProgressBar,这时我们需要通过属性来得到不同的进度条:

矩形进度条:

<ProgressBar
    android:id="@+id/pb_main_progressBar"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
 
圆形进度条:
<ProgressBar
    android:id="@+id/progressBar2"
    style="?android:attr/progressBarStyle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    />

如何实现进度条的进程呐,那就需要在Java文件中获取进度条的id去设置进程了,这时我们需要用到线程,不过在创建线程的时候我们要设置主线程和子线程,因为主线程里面不能执行耗时的操作,一旦使用了耗时的操作就会报ANR(应用程序无响应)的错误,所以为了不让主线程报错我们需要写一个子线程来替主线程做事,这样来说应该可以了,但是其实它俩是没有任何关系的,所以我们需要找它们俩的中介来建立联系(Handler),代码如下:

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;

import java.util.Random;

/**
 * Created by Administrator on 2017/7/19.
 */

public class ProgressbarActivity extends AppCompatActivity {

    private TextView textview;
    private ProgressBar progressbar;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_progress);

        //获取id
        textview = (TextView) findViewById(R.id.tv_main_textview);
        progressbar = (ProgressBar) findViewById(R.id.pb_main_progressBar);

    }
    //ANR
    //application not responsing应用程序无响应
    //why:因为在主线程中执行了耗时操作
    //how:把耗时操作 写到子线程中

//主线
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值