展会信息港展会大全

Android控件之ProgressBar
来源:互联网   发布日期:2015-10-03 10:58:48   浏览:851次  

导读:1,带有进度条的ProgressBar[html]瀀爀漀琀攀挀琀攀搀 void onCreate(Bundle savedInstanceState) { super.onC...

1,带有进度条的ProgressBar

[html]

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// Request the progress bar to be shown in the title

requestWindowFeature(Window.FEATURE_PROGRESS);

setContentView(R.layout.progressbar_1);

setProgressBarVisibility(true);//设置在title里的ProgressBar可见

final ProgressBar progressHorizontal = (ProgressBar) findViewById(R.id.progress_horizontal);

setProgress(progressHorizontal.getProgress() * 100);//为title中的ProgressBar设置进度

setSecondaryProgress(progressHorizontal.getSecondaryProgress() * 100);//为title中的ProgressBar设置二级进度

Button button = (Button) findViewById(R.id.increase);//一级进度递增

button.setOnClickListener(new Button.OnClickListener() {

public void onClick(View v) {

progressHorizontal.incrementProgressBy(1);

// Title progress is in range 0..10000

setProgress(100 * progressHorizontal.getProgress());//为title中的ProgressBar设置进度

}

});

button = (Button) findViewById(R.id.decrease);//一级进度递减

button.setOnClickListener(new Button.OnClickListener() {

public void onClick(View v) {

progressHorizontal.incrementProgressBy(-1);

// Title progress is in range 0..10000

setProgress(100 * progressHorizontal.getProgress());//为title中的ProgressBar设置进度

}

});

button = (Button) findViewById(R.id.increase_secondary);//二级进度递增

button.setOnClickListener(new Button.OnClickListener() {

public void onClick(View v) {

progressHorizontal.incrementSecondaryProgressBy(1);

// Title progress is in range 0..10000

setSecondaryProgress(100 * progressHorizontal.getSecondaryProgress());

}

});

button = (Button) findViewById(R.id.decrease_secondary);//二级进度递减

button.setOnClickListener(new Button.OnClickListener() {

public void onClick(View v) {

progressHorizontal.incrementSecondaryProgressBy(-1);

// Title progress is in range 0..10000

setSecondaryProgress(100 * progressHorizontal.getSecondaryProgress());

}

});

}

配置文件 :

[html]

<ProgressBar android:id="@+id/progress_horizontal"

style="?android:attr/progressBarStyleHorizontal"

android:layout_width="200dip"

android:layout_height="wrap_content"

android:max="100"

android:progress="50"

android:secondaryProgress="75" />

效果图:

2, 转圈的样式的ProgressBar

[html]

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="vertical" >

<ProgressBar

android:id="@+android:id/progress_large"

style="?android:attr/progressBarStyleLarge"//大样式

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

<ProgressBar//默认

android:id="@+android:id/progress"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

<ProgressBar

android:id="@+android:id/progress_small"//小样式

style="?android:attr/progressBarStyleSmall"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

<ProgressBar//小标题样式

android:id="@+android:id/progress_small_title"

style="?android:attr/progressBarStyleSmallTitle"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

</LinearLayout>

Java代码:

[html]

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// Request for the progress bar to be shown in the title

requestWindowFeature(Window.FEATURE_<span style="color:#ff0000;">INDETERMINATE</span>_PROGRESS);

setContentView(R.layout.progressbar_2);

// Make sure the progress bar is visible

setProgressBarVisibility(true);

}

效果:

3,Dialog样式的ProgressBar

[html]

private static final int DIALOG1_KEY = 0;

private static final int DIALOG2_KEY = 1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.progressbar_3);

Button button = (Button) findViewById(R.id.showIndeterminate);

button.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

showDialog(DIALOG1_KEY);

}

});

button = (Button) findViewById(R.id.showIndeterminateNoTitle);

button.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

showDialog(DIALOG2_KEY);

}

});

}

@Override

protected Dialog onCreateDialog(int id) {

switch (id) {

case DIALOG1_KEY: {

ProgressDialog dialog = new ProgressDialog(this);

dialog.setTitle("Indeterminate");

dialog.setMessage("Please wait while loading...");

dialog.set<span style="color:#ff0000;">Indeterminate</span>(true);//设置转圈的效果

dialog.setCancelable(true);

return dialog;

}

case DIALOG2_KEY: {

ProgressDialog dialog = new ProgressDialog(this);

dialog.setMessage("Please wait while loading...");

dialog.set<span style="color:#ff0000;">Indeterminate</span>(true);//设置转圈的效果

dialog.setCancelable(true);

return dialog;

}

}

return null;

}

效果:

4,在title上面的转圈的ProgressBar

[java]

private boolean mToggleIndeterminate = false;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// Request progress bar

requestWindowFeature(Window.FEATURE_<span style="color:#ff0000;">INDETERMINATE</span>_PROGRESS);//转圈样的ProgressBar

setContentView(R.layout.progressbar_4);

setProgressBarIndeterminateVisibility(mToggleIndeterminate);//是否可见

Button button = (Button) findViewById(R.id.toggle);

button.setOnClickListener(new Button.OnClickListener() {

public void onClick(View v) {

mToggleIndeterminate = !mToggleIndeterminate;//如果是false,设成true,如果是true设成false.

setProgressBarIndeterminateVisibility(mToggleIndeterminate);//是否可见

}

});

}

作者:johnny901114

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

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