SeekBar和RatingBar

来源:互联网 发布:前三个月非农数据 编辑:程序博客网 时间:2024/05/07 14:40

主要内容:

1 SeekBar的主要属性
2 OnSeekBarChangeListener
3 RatingBar的主要属性
4 OnRatingBarChangeListener

SeekBar的效果如下:


它多用于音乐播放器中,第一进度表示音乐现在播放到什么地方了,第二进度多用于从网络下载缓存的进度。

它的属性主要有下面几种:

1 进度条最大值:max
2 当前进度:progress
3 次要进度的值:SecondaryProgress

SeekBar的监听器OnSeekBarChangeListener

1 onProgressChanged(SeekBar seekBar,int progress,boolean fromUser)

参数seekBar:表示哪个seekBar被触发了,progress:表示当前的进度是多少,fromUser:表示是否有用户在拖拽
2 onStartTrackingTouch(SeekBar seekBar)

表示拖拽开始
3 onStopTrackingTouch(SeekBar seekBar)

表示拖拽结束

下面看下如何使用它:

布局:

<RelativeLayout 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" ><SeekBar     android:id="@+id/firstSeekBar"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:max="100"    /></RelativeLayout>
src:

package com.shanl.seekbar;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.widget.SeekBar;import android.widget.SeekBar.OnSeekBarChangeListener;public class MainActivity extends Activity {private SeekBar firstSeekBar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);firstSeekBar = (SeekBar)findViewById(R.id.firstSeekBar);firstseekBarListerner seekBarListerner = new firstseekBarListerner();firstSeekBar.setOnSeekBarChangeListener(seekBarListerner);}class firstseekBarListerner implements OnSeekBarChangeListener{@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {// TODO Auto-generated method stubSystem.out.println("progress is " +progress + "fromUser is " +fromUser);}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stubSystem.out.println("onStartTracking");}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stubSystem.out.println("onStopTracking");}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
效果如下:

logcat:



下面看下关于评分的RatingBar:

RatingBar的效果如下:


RatingBar的主要属性

1 星星的个数:numStars
2 当前等级:progress
3 stepSize:用来表示一次前进多少个星

RatingBar的监听器

OnRatingBarChangeListener
1.onRatingChanged(RatingBar ratingBar,float rating,boolean fromUser)

看下这个控件如何使用:

布局:

<RelativeLayout 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" ><RatingBar     android:id="@+id/firstRatingBar"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:numStars="4"    android:stepSize="1"/></RelativeLayout>
src:

package com.shanl.ratingbar;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.widget.RatingBar;import android.widget.RatingBar.OnRatingBarChangeListener;public class MainActivity extends Activity {private RatingBar ratingBar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ratingBar = (RatingBar)findViewById(R.id.firstRatingBar);RatingBarListener listener = new RatingBarListener();ratingBar.setOnRatingBarChangeListener(listener);}class RatingBarListener implements OnRatingBarChangeListener{@Overridepublic void onRatingChanged(RatingBar ratingBar, float rating,boolean fromUser) {// TODO Auto-generated method stubSystem.out.println("Rating is " + rating + "fromUser is " + fromUser);}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
效果如下:

logcat:




原创粉丝点击