ProgressBar 进度条

ProgressBar用于在界面上显示一个进度条,表示我们的程序正在加载一些数据。它的用 法也非常简单,修改 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" > 
 
 …… 
 
    <ProgressBar          android:id="@+id/progress_bar"         android:layout_width="match_parent"         android:layout_height="wrap_content"         /> </LinearLayout> 重新运行程序,会看到屏幕中有一个圆形进度条正在旋转,如图 3.11所示。 
第一行代码——Android 
 102
 
 
图 3.11 
这时你可能会问,旋转的进度条表明我们的程序正在加载数据,那数据总会有加载完的 时候吧,如何才能让进度条在数据加载完成时消失呢?这里我们就需要用到一个新的知识 点,Android控件的可见属性。所有的Android控件都具有这个属性,可以通过android:visibility 进行指定,可选值有三种,visible、invisible 和 gone。visible 表示控件是可见的,这个值是 默认值,不指定 android:visibility时,控件都是可见的。invisible表示控件不可见,但是它仍 然占据着原来的位置和大小,可以理解成控件变成透明状态了。gone则表示控件不仅不可见, 而且不再占用任何屏幕空间。我们还可以通过代码来设置控件的可见性,使用的是 setVisibility()方法,可以传入 View.VISIBLE、View.INVISIBLE和 View.GONE三种值。 接下来我们就来尝试实现,点击一下按钮让进度条消失,再点击一下按钮让进度条出现 的这种效果。修改 MainActivity中的代码,如下所示: 
public class MainActivity extends Activity implements OnClickListener {    private Button button;    private EditText editText;    private ImageView imageView;   
第 3章 软件也要拼脸蛋,UI开发的点点滴滴 
 103 
 private ProgressBar progressBar; 
 
 @Override  protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.activity_main);   button = (Button) findViewById(R.id.button);   editText = (EditText) findViewById(R.id.edit_text);   imageView  = (ImageView) findViewById(R.id.image_view);   progressBar = (ProgressBar) findViewById(R.id.progress_bar);   button.setOnClickListener(this);  } 
 
 @Override  public void onClick(View v) {   switch (v.getId()) {   case R.id.button:    if (progressBar.getVisibility() == View.GONE) {     progressBar.setVisibility(View.VISIBLE);    } else {     progressBar.setVisibility(View.GONE);    }    break;   default:    break;   }  } 
 
} 在按钮的点击事件中,我们通过 getVisibility()方法来判断 ProgressBar 是否可见,如果 可见就将 ProgressBar隐藏掉,如果不可见就将 ProgressBar显示出来。重新运行程序,然后 不断地点击按钮,你就会看到进度条会在显示与隐藏之间来回切换。 另外,我们还可以给 ProgressBar指定不同的样式,刚刚是圆形进度条,通过 style属性 可以将它指定成水平进度条,修改 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" > 
第一行代码——Android 
 104
 
 
 …… 
 
    <ProgressBar          android:id="@+id/progress_bar"         android:layout_width="match_parent"         android:layout_height="wrap_content"   style="?android:attr/progressBarStyleHorizontal"   android:max="100"         /> </LinearLayout> 指定成水平进度条后,我们还可以通过 android:max 属性给进度条设置一个最大值,然 后在代码中动态地更改进度条的进度。修改 MainActivity中的代码,如下所示: 
public class MainActivity extends Activity implements OnClickListener {  ……  @Override  public void onClick(View v) {   switch (v.getId()) {   case R.id.button:    int progress = progressBar.getProgress();    progress = progress + 10;    progressBar.setProgress(progress);    break;   default:    break;   }  } } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值