在标题栏显示进度条progressBar

有一种进度条可以直接在窗口标题栏上面显示,这种进度条甚至不需要使用ProgressBar组件,很多新闻客户端上面用的非常多,当我们点击新闻头条时,他会跳转到详情页面,而这个时候你会在标题栏上面看到一个加载的进度条,然而它可以直接由Activity的方法启动。只需要如下两步就能实现:

        1、 调用Acticity的requestWindowFeature()方法,该方法传入的参数可以启用窗口特性,例如传入Window.FEATURE_INDETERMINATE_PROGRESS在窗口标题栏上面显示不带进度的进度条;传入Window.FEATURE_PROGRESS则显示带进度的进度条。

         2.、调用Activity的setProgressBarVisibility(boolean)或则setProgressBarIndeterminateVisibility(boolean)就能实现控制进度条的显示和隐藏;

下面给个例子。供大家参看;光说不练嘴把式,希望大家多练练,孰能生巧;

package com.example.titleprogressbar;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//设置窗口特性:启用显示进度的进度条
		requestWindowFeature(Window.FEATURE_PROGRESS);
	    //设置窗口特性:启用不显示进度的进度条
		requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
		
		setContentView(R.layout.activity_main);
		Button btn1 = (Button) findViewById(R.id.btn1);
		Button btn2 = (Button) findViewById(R.id.btn2);
		btn1.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				//显示不带进度的进度条
				setProgressBarIndeterminateVisibility(true);
				//显示带进度的进度条
				setProgressBarVisibility(true);
				setProgress(40);
			}
		});
		btn2.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				//显示不带进度的进度条
				setProgressBarIndeterminateVisibility(false);
				//显示带进度的进度条
				setProgressBarVisibility(false);
			}
		});
	}
}

大家可以试试看,这样就能成功实现在标题栏上面显示进度条。

你可能感兴趣的:(android,Android开发)