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裝飾的更好看,想把更好看的圖片用來替換系統預設的圖片,那麼應該怎麼改呢?