主要内容:
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;
@Override
protected 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{
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
System.out.println("progress is " +progress + "fromUser is " +fromUser);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
System.out.println("onStartTracking");
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
System.out.println("onStopTracking");
}
}
@Override
public 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;
@Override
protected 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{
@Override
public void onRatingChanged(RatingBar ratingBar, float rating,
boolean fromUser) {
// TODO Auto-generated method stub
System.out.println("Rating is " + rating + "fromUser is " + fromUser);
}
}
@Override
public 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: