Android的SeekBar和RateBar的使用-android学习之旅(三十二)

SeekBar简介

SeekBar允许用户拖动,进行调节经常用于音量调节等方面。
android:thumb设置drawable对象来表示拖动的物体。
setOnSeekBarChangeListener()设置SeekBar的改变。

代码示例

package peng.liu.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.SeekBar;


public class MainActivity extends Activity {
    private ImageView image;
    private SeekBar seekBar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        image = (ImageView) findViewById(R.id.image);
        seekBar = (SeekBar) findViewById(R.id.seekBar);
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
                image.setAlpha(i);
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });
    }
}

布局代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".MainActivity"
    android:orientation="vertical">

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="240px"
        android:id="@+id/image"
        android:src="@drawable/ic_launcher"
        android:scaleType="fitXY"/>
    <SeekBar
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/seekBar"
        android:max="255"
        android:progress="255"
        />
</LinearLayout> 

效果图

RatingBar简介

RatingBar是一个星级评分条,它和SeekBar有着相同的父类AbsSeekBar,因此属性相似。

RatingBar属性

Android的SeekBar和RateBar的使用-android学习之旅(三十二)_第1张图片

代码示例

package peng.liu.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.RatingBar;
import android.widget.SeekBar;


public class MainActivity extends Activity {
    private ImageView image;
    private RatingBar ratingBar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        image = (ImageView) findViewById(R.id.image);
        ratingBar = (RatingBar) findViewById(R.id.ratingBar);
        ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
            @Override
            public void onRatingChanged(RatingBar ratingBar, float v, boolean b) {
                image.setAlpha(v*255/5);
            }
        });
    }
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".MainActivity"
    android:orientation="vertical">

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="240px"
        android:id="@+id/image"
        android:src="@drawable/ic_launcher"
        android:scaleType="fitXY"/>
    <RatingBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/ratingBar"
        android:max="255"
        android:progress="255"
        android:numStars="5"
        android:stepSize="0.5"/>
</LinearLayout> 

效果图

Android的SeekBar和RateBar的使用-android学习之旅(三十二)_第2张图片

你可能感兴趣的:(android)