您好,登錄后才能下訂單哦!
本文實例講述了Android開發之拖動條和評分組件用法。分享給大家供大家參考,具體如下:
今天閑著沒事做就拿出了Android書接著學習,android就是組件多有時候還會弄混淆了。這次介紹的是拖動條和評分組件,這2個組件也是超級簡單的
下面就一個一個的來研究。
1. 拖動條,就類似android手機上調節音量那個,該組件和對話框不同的是用戶可以操作。該組件的xml表現形式如下
<SeekBar android:id="@+id/seek" android:layout_marginLeft="20dip" android:layout_width="fill_parent" android:layout_height="wrap_content"/>
光這樣太枯燥了,這里我做了個拖動切換圖片的小例子。這里就要介紹下拖動條的長度了這個長度是可控制的像這里我有5張圖片拖動條的size就是5.這個設置我直接寫在了程序里。實現很簡單就是在拖動條的基礎上加個ImageView,然后對拖動條進行拖動的監聽值改變了就切換ImageView就好了。下面是主要代碼。
bar=(SeekBar)this.findViewById(R.id.seek); imageview=(ImageView)this.findViewById(R.id.img); bar.setMax(5); bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { //切換圖片 imageview.setImageResource(imagedata[seekBar.getProgress()]); } });
效果圖如下所示,我覺得還是挺好的。
2. 下面就是評分插件了,android默認情況下是五角星,如果有必要可以弄成別的
這里我弄了一種自定義的類型,來看下吧
(1)在drawable下面弄個xml文件內容如下
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+android:id/background" android:drawable="@drawable/star_empty" /> <item android:id="@+android:id/secondaryProgress" android:drawable="@drawable/star_empty" /> <item android:id="@+android:id/progress" android:drawable="@drawable/star_full" /> </layer-list>
star_empty是灰色的五角星,star_full是黃色的五角星。上面的配置文件理解起來也很簡單,下面就把這個樣式嵌入到評分組件上,首先還是寫個樣式文件
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="ratingbarstyle" parent="@android:style/Widget.RatingBar"> <item name="android:progressDrawable"> @drawable/starconfig </item> <item name="android:minHeight">53dip</item> <item name="android:maxHeight">53dip</item> </style> </resources>
順便說明下starconfig就是上面那個配置文件,下面就是標簽了,該組件的常用屬性是步長、星星的個數就像下面這樣
<RatingBar android:id="@+id/rating" android:numStars="5" android:stepSize="1" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
后面也自然是事件處理了
rbar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { int num=(int)rating; String result=null; switch (num) { case 1: result="非常不滿意"; break; case 2: result="不滿意"; break; case 3: result="還可以"; break; case 4: result="滿意"; break; case 5: result="非常滿意"; break; default: break; } Toast.makeText(MyDailogActivity.this, result, 1).show(); } });
來看下效果吧
更多關于Android相關內容感興趣的讀者可查看本站專題:《Android基本組件用法總結》、《Android開發入門與進階教程》、《Android布局layout技巧總結》、《Android視圖View技巧總結》、《Android編程之activity操作技巧總結》、《Android資源操作技巧匯總》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。