您的位置:首页 > 移动开发 > Android开发

Android之ProgressBar及其子类SeekBar和RatingBar的使用(二)

2016-06-30 12:12 513 查看
效果如图所示:



这里简单的写了一个progressBar,seekBar,RatingBar的代码。

布局activity_main:

<!-- <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"> -->

<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:layout_width="match_parent"
android:layout_height="wrap_content"
style="@android:style/Widget.ProgressBar.Horizontal"
android:max="50"
android:progress="10"
android:secondaryProgress="20"
android:progressDrawable="@drawable/progress_bar"
android:id="@+id/bar"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="增加"
android:onClick="myadd"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="减少"
android:onClick="myMinute"/>
<!--  <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/msg"
android:src="@drawable/bg"/> -->

<SeekBar
android:id="@+id/sb"
style="@android:style/Widget.SeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:progress="10"
android:progressDrawable="@drawable/progress_bar"
android:thumb="@drawable/ic_launcher" />

<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="3"
android:stepSize="1"
android:rating="1"
android:id="@+id/ra"/>

</LinearLayout>
<!-- </ScrollView> -->


MainActivity:

package com.syy.progressbarapp;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.Toast;

public class MainActivity extends Activity {
private ImageView msg;
private ProgressBar bar;
private SeekBar sb;
private int cp;
private RatingBar ra;
public void myadd(View view){
//bar.incrementProgressBy(10);
//bar.setProgress(bar.getMax());
cp+=10;
if(cp>bar.getMax()){
cp=0;
}
bar.setProgress(cp);
}
public void myMinute(View view){
//bar.incrementProgressBy(-10);
//bar.setProgress(bar.getMax());
cp-=10;
if(cp<0){
cp=0;
}
bar.setProgress(cp);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_main);
setProgressBarIndeterminateVisibility(true);
bar=(ProgressBar)findViewById(R.id.bar);
//msg=(ImageView)findViewById(R.id.msg);
sb=(SeekBar)findViewById(R.id.sb);

sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
//结束拖动的时候触发该方法
@Override
public void onStopTrackingTouch(SeekBar bar) {
// TODO Auto-generated method stub

}
//开始拖动的时候触动该方法
@Override
public void onStartTrackingTouch(SeekBar bar) {
// TODO Auto-generated method stub

}
//只能进度值发生改变触发该方法
//第二个参数:事件源的当前进度值
//第三个参数:数据的改变是否来自于用户的
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromuser) {
// TODO Auto-generated method stub
//msg.setAlpha(progress);
if(fromuser)
bar.setProgress(progress);
}
});

ra=(RatingBar)findViewById(R.id.ra);
ra.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
//第一个参数是事件源
//第二个是分数

@Override
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromuser) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "分数为:"+rating, 0).show();
}
});

}
//按下回退按钮时触发该方法
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
//弹出对话框
//第一步:创建AlertDialog.Builder对象
AlertDialog.Builder bulder=new AlertDialog.Builder(this);
//第二步:设置图标区
bulder.setIcon(R.drawable.ic_launcher);
//第三步:设置标题区
bulder.setTitle("提示");
//第四步:设置内容
bulder.setMessage("是否推出程序");
//第五步:设置按钮区
bulder.setPositiveButton("确实", new OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
//推出应用程序
System.exit(0);
}
});
bulder.setNegativeButton("取消", null);

//设置不可被取消
bulder.setCancelable(false);
//第六步:创建对话框对象
AlertDialog dialog=bulder.create();
dialog.show();

}
}


没什么技术含量,写下来供以后自己方便查找。。。

代码在这里:

代码链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android prigressBa seekBar