Android progressBar进度条

本文详细介绍了如何在 Android 应用中使用不同大小的圆形进度条和水平进度条,并通过设置窗口特征来实现带有刻度效果的状态栏。同时,通过按钮操作动态调整进度条的进度值,提供了丰富的交互体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.布局文件main_activity.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView android:layout_width="wrap_content"
		android:layout_height="wrap_content" android:text="小圆形进度条" />
	<ProgressBar android:layout_width="wrap_content"
		android:layout_height="wrap_content" style="?android:attr/progressBarStyleSmallTitle"></ProgressBar>

	<TextView android:layout_width="wrap_content"
		android:layout_height="wrap_content" android:text="中型圆形进度条" />
	<ProgressBar android:layout_width="wrap_content"
		android:layout_height="wrap_content"></ProgressBar>
	<TextView android:layout_width="wrap_content"
		android:layout_height="wrap_content" android:text="大型圆形进度条" />
	<ProgressBar android:layout_width="wrap_content"
		android:layout_height="wrap_content" style="?android:attr/progressBarStyleLarge"></ProgressBar>
	<TextView android:layout_width="wrap_content"
		android:layout_height="wrap_content" android:text="水平进度条" />
	<ProgressBar android:layout_width="fill_parent"
		android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal"
		android:max="100" android:progress="30"></ProgressBar>

	<ProgressBar android:id="@+id/progressbar"
		android:layout_width="fill_parent" android:layout_height="wrap_content"
		style="?android:attr/progressBarStyleHorizontal" android:max="100"
		android:progress="30" android:secondaryProgress="60"
		android:layout_marginTop="20dp"></ProgressBar>
	<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
		android:orientation="horizontal" android:layout_width="fill_parent"
		android:layout_height="fill_parent">

		<Button android:id="@+id/button1" android:layout_width="wrap_content"
			android:layout_height="wrap_content" android:layout_marginTop="20dp"
			android:text="增加进度"></Button>
		<Button android:id="@+id/button2" android:layout_width="wrap_content"
			android:layout_height="wrap_content" android:layout_marginTop="20dp"
			android:text="减小进度"></Button>
	</LinearLayout>
</LinearLayout>

2.MainActivity.java文件

package com.android.progressbar;

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;
import android.widget.ProgressBar;

public class Main extends Activity implements OnClickListener {
	/** Called when the activity is first created. */
	private ProgressBar progressBar;
	private Button button1, button2;
    
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		
		// 如何设置窗口有刻度的效果
		requestWindowFeature(Window.FEATURE_PROGRESS);
		requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
		setContentView(R.layout.main);
		progressBar = (ProgressBar) this.findViewById(R.id.progressbar);
		setProgressBarVisibility(true);
		setProgressBarIndeterminate(true);
		setProgress(3500);
		button1 = (Button) this.findViewById(R.id.button1);
		button2 = (Button) this.findViewById(R.id.button2);
		button1.setOnClickListener(this);
		button2.setOnClickListener(this);
	}

	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch (v.getId()) {
		case R.id.button1:
			progressBar.setProgress((int) (progressBar.getProgress() * 1.2));
			progressBar.setSecondaryProgress((int) (progressBar
					.getSecondaryProgress() * 1.2));
			break;

		case R.id.button2:
			progressBar.setProgress((int) (progressBar.getProgress() * 0.8));
			progressBar.setSecondaryProgress((int) (progressBar
					.getSecondaryProgress() * 0.8));
			break;
		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值