展会信息港展会大全

Android开发教程之进度条设置
来源:互联网   发布日期:2016-01-19 12:13:12   浏览:1451次  

导读:一、基础知识:1 ProgressBar在界面文件XML中的布局:[html]progressBar android:id=@+id progressbar_updown android:layout_width=200dp android:layout_height=wrap_content style=?android:attr p ...

一、基础知识:

1.ProgressBar在界面文件XML中的布局:

[html]

<progressBar android:id="@+id/progressbar_updown"

android:layout_width="200dp"

android:layout_height="wrap_content"

style="?android:attr/progressBarStyleHorizontal"

android:layout_gravity="center_vertical"

android:max="100"

android:progress="50"

android:secondaryProgress="70">

<progressBar android:id="@+id/progressbar_updown"

android:layout_width="200dp"

android:layout_height="wrap_content"

style="?android:attr/progressBarStyleHorizontal"

android:layout_gravity="center_vertical"

android:max="100"

android:progress="50"

android:secondaryProgress="70">

[plain]

style="?android:attr/progressBarStyleHorizontal"设置风格为长形

android:max="100"最大进度值为100

android:progress="50"初始化的进度值

android:secondaryProgress="70" 初始化的底层第二个进度值

android:layout_gravity="center_vertical"垂直居中

style="?android:attr/progressBarStyleHorizontal"设置风格为长形

android:max="100"最大进度值为100

android:progress="50"初始化的进度值

android:secondaryProgress="70" 初始化的底层第二个进度值

android:layout_gravity="center_vertical"垂直居中

2.ProgressBar在代码文件(.java)中的控制使用:

[java]

private ProgressBar myProgressBar;

//定义ProgressBar

myProgressBar = (ProgressBar) findViewById(R.id.progressbar_updown);

//ProgressBar通过ID来从XML中获取

myProgressBar.incrementProgressBy(5);

//ProgressBar进度值增加5

myProgressBar.incrementProgressBy(-5);

//ProgressBar进度值减少5

myProgressBar.incrementSecondaryProgressBy(5);

//ProgressBar背后的第二个进度条 进度值增加5

myProgressBar.incrementSecondaryProgressBy(-5);

//ProgressBar背后的第二个进度条 进度值减少5

private ProgressBar myProgressBar;

//定义ProgressBar

myProgressBar = (ProgressBar) findViewById(R.id.progressbar_updown);

//ProgressBar通过ID来从XML中获取

myProgressBar.incrementProgressBy(5);

//ProgressBar进度值增加5

myProgressBar.incrementProgressBy(-5);

//ProgressBar进度值减少5

myProgressBar.incrementSecondaryProgressBy(5);

//ProgressBar背后的第二个进度条 进度值增加5

myProgressBar.incrementSecondaryProgressBy(-5);

//ProgressBar背后的第二个进度条 进度值减少5

3.XML重要属性

android:progressBarStyle:默认进度条样式

android:progressBarStyleHorizontal:水平样式

4.重要方法

[plain]

getMax():返回这个进度条的范围的上限

getProgress():返回进度

getSecondaryProgress():返回次要进度

incrementProgressBy(int diff):指定增加的进度

isIndeterminate():指示进度条是否在不确定模式下

setIndeterminate(boolean indeterminate):设置不确定模式下

setVisibility(int v):设置该进度条是否可视

getMax():返回这个进度条的范围的上限

getProgress():返回进度

getSecondaryProgress():返回次要进度

incrementProgressBy(int diff):指定增加的进度

isIndeterminate():指示进度条是否在不确定模式下

setIndeterminate(boolean indeterminate):设置不确定模式下

setVisibility(int v):设置该进度条是否可视

二、代码展示:

1."Activity_09srcyanactivity_09MainActivity.java"

[java]

package yan.activity_09;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ProgressBar;

import android.app.Activity;

public class MainActivity extends Activity {

// 声明变量

private ProgressBar firstBar = null;

private ProgressBar secondBar = null;

private Button myButton = null;

private int progress_vol = 0;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//映射控件ID到变量

firstBar = (ProgressBar)findViewById(R.id.firstBar);

secondBar = (ProgressBar)findViewById(R.id.secondBar);

myButton = (Button)findViewById(R.id.myButton);

myButton.setOnClickListener(new ButtonListenr());

}

class ButtonListenr implements OnClickListener{

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

if(0 == progress_vol)

{

// 设置进度条的最大值

firstBar.setMax(200);

// 设置进度条为可见的状态

firstBar.setVisibility(View.VISIBLE);

secondBar.setVisibility(View.VISIBLE);

}else if(progress_vol < firstBar.getMax()){

// 设置主进度条的当前值

firstBar.setProgress(progress_vol);

// 设置第二进度条的当前值

firstBar.setSecondaryProgress(progress_vol+10);

// 默认的进度条是无法显示进行的状态的

//secondBar.setProgress(progress_vol);

}else{

// 设置进度条为不可见的状态

firstBar.setVisibility(View.GONE);

secondBar.setVisibility(View.GONE);

}

progress_vol +=10;

}

}

}

package yan.activity_09;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ProgressBar;

import android.app.Activity;

public class MainActivity extends Activity {

// 声明变量

private ProgressBar firstBar = null;

private ProgressBar secondBar = null;

private Button myButton = null;

private int progress_vol = 0;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//映射控件ID到变量

firstBar = (ProgressBar)findViewById(R.id.firstBar);

secondBar = (ProgressBar)findViewById(R.id.secondBar);

myButton = (Button)findViewById(R.id.myButton);

myButton.setOnClickListener(new ButtonListenr());

}

class ButtonListenr implements OnClickListener{

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

if(0 == progress_vol)

{

// 设置进度条的最大值

firstBar.setMax(200);

// 设置进度条为可见的状态

firstBar.setVisibility(View.VISIBLE);

secondBar.setVisibility(View.VISIBLE);

}else if(progress_vol < firstBar.getMax()){

// 设置主进度条的当前值

firstBar.setProgress(progress_vol);

// 设置第二进度条的当前值

firstBar.setSecondaryProgress(progress_vol+10);

// 默认的进度条是无法显示进行的状态的

//secondBar.setProgress(progress_vol);

}else{

// 设置进度条为不可见的状态

firstBar.setVisibility(View.GONE);

secondBar.setVisibility(View.GONE);

}

progress_vol +=10;

}

}

}

2."Activity_09reslayoutmain.xml"

[html]

<?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"

android:background="#00aaaa"

>

<TextView

android:id="@+id/firstText"

android:text="@string/hello_world"

android:gravity="center_vertical"

android:textSize="15pt"

android:background="#aa0000"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:singleLine="true"/>

<ProgressBar

android:id="@+id/firstBar"

style="?android:attr/progressBarStyleHorizontal"

android:layout_width="200dp"

android:layout_height="wrap_content"

android:visibility="gone"

/>

<ProgressBar

android:id="@+id/secondBar"

style="?android:attr/progressBarStyle"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:visibility="gone"

/>

<Button

android:id="@+id/myButton"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="begin"

/>

</LinearLayout>

<?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"

android:background="#00aaaa"

>

<TextView

android:id="@+id/firstText"

android:text="@string/hello_world"

android:gravity="center_vertical"

android:textSize="15pt"

android:background="#aa0000"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:singleLine="true"/>

<ProgressBar

android:id="@+id/firstBar"

style="?android:attr/progressBarStyleHorizontal"

android:layout_width="200dp"

android:layout_height="wrap_content"

android:visibility="gone"

/>

<ProgressBar

android:id="@+id/secondBar"

style="?android:attr/progressBarStyle"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:visibility="gone"

/>

<Button

android:id="@+id/myButton"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="begin"

/>

</LinearLayout>

3."Activity_09resvaluesstrings.xml"

[html]

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="app_name">Activity_09</string>

<string name="hello_world">Hello world!</string>

<string name="menu_settings">Settings</string>

</resources>

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="app_name">Activity_09</string>

<string name="hello_world">Hello world!</string>

<string name="menu_settings">Settings</string>

</resources>

赞助本站

人工智能实验室

相关热词: 进度条 Android开发

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港