Android 控件seekbar、ratingbar
1、Seekbar就是一个进度条;可拖动可改变;
拖动后:
原代码如下:
布局文件:
<?xml version="1.0"encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <SeekBar android:id="@+id/seekbarld" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
JAVA代码:
package lili.seekbar; import android.app.Activity; import android.os.Bundle; import android.widget.SeekBar; importandroid.widget.SeekBar.OnSeekBarChangeListener; public class SeekBarActivity extendsActivity { /**Called when the activity is first created. */ privateSeekBar seekBar = null; @Override publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //绑定控件 seekBar= (SeekBar) findViewById(R.id.seekbarld); //设置进度条条的最大值 seekBar.setMax(100); //添加监听器 seekBar.setOnSeekBarChangeListener(newSeekBarListener()); } //一个监听器,该监听器负责监听进度条状态 的改变 privateclass SeekBarListener implements OnSeekBarChangeListener { //当进度条的进度发生 变化 时,会调用 该 方法 publicvoid onProgressChanged(SeekBar seekBar, int progress, booleanfromUser) { System.out.println(progress); } publicvoid onStartTrackingTouch(SeekBar seekBar) { System.out.println("start->"+ seekBar.getProgress()); } publicvoid onStopTrackingTouch(SeekBar seekBar) { System.out.println("stop->"+ seekBar.getProgress()); } } }
2、Ratingbar是平分条;星星表示
点击星星后:
原码:
布局文件:
<?xml version="1.0"encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <RatingBar android:id="@+id/ratingbarld" android:layout_height="wrap_content" android:layout_width="wrap_content" android:numStars="5" android:stepSize="13.0" /> </LinearLayout>
JAVA文件:
package lili.ratingbar; import android.app.Activity; import android.os.Bundle; import android.widget.RatingBar; public class RatingBarActivity extends Activity{ /**Called when the activity is first created. */ privateRatingBar ratingBar=null; @Override publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ratingBar=(RatingBar)findViewById(R.id.ratingbarld); ratingBar.setOnRatingBarChangeListener(newRatingBarListener()); } private class RatingBarListener implementsRatingBar.OnRatingBarChangeListener{ @Override publicvoid onRatingChanged(RatingBar ratingBar, float rating, booleanfromUser) { System.out.println("rating-->"+rating); } } }
但是我们一般想把RatingBar装饰的更好看,想把更好看的图片用来替换系统默认的图片,那么应该怎么改呢?