android学习---progressbar和ratingbar

progressbar进度条

效果                     

 

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="小圆形进度条" />

    <ProgressBar
        style="?android:attr/progressBarStyleSmallTitle"
        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" >
    </ProgressBar>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="大型圆形进度条" />

    <ProgressBar
        style="?android:attr/progressBarStyleLarge"
        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
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:max="100"
        android:progress="30" >
    </ProgressBar>

    <ProgressBar
        android:id="@+id/progressbar"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:max="100"
        android:progress="30"
        android:secondaryProgress="60" >
    </ProgressBar>

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal" >

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

Main.java

package com.leaf.android;

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;
        }
    }
}

ratingbar评分控件

效果:

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="评分控件的使用"
        android:textSize="20dp" />

    <RatingBar
        android:id="@+id/ratingBar"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

Main.java

package com.leaf.android;

import android.app.Activity;
import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.Toast;

public class Main extends Activity implements OnRatingBarChangeListener {
    /** Called when the activity is first created. */

    private RatingBar ratingBar;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ratingBar = (RatingBar) this.findViewById(R.id.ratingBar);
        ratingBar.setMax(100);// 设置最大刻度
        ratingBar.setProgress(20);// 设置当前的刻度
        ratingBar.setOnRatingBarChangeListener(this);

    }

    public void onRatingChanged(RatingBar ratingBar, float rating,
            boolean fromUser) {
        // TODO Auto-generated method stub
        int progress = ratingBar.getProgress();
        Toast.makeText(Main.this, "progress:" + progress + "rating:" + rating,
                1).show();
    }
}
原文地址:https://www.cnblogs.com/lea-fu/p/3295344.html