日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android学习笔记九——RatingBar

發(fā)布時(shí)間:2024/10/12 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android学习笔记九——RatingBar 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

RatingBar==>星級(jí)評(píng)分條

RatingBar和SeekBar十分相似,它們甚至有相同的父類:AbsSeekBar.兩者都允許用戶通過拖動(dòng)來改變進(jìn)度;

兩者最大的區(qū)別在于RatingBar是通過星星表示進(jìn)度;RatingBar本身就是一個(gè)特殊的SeekBar。

RatingBar常見XML屬性如下圖:

注意:為了程序支持響應(yīng)星級(jí)評(píng)分條的改變,程序可以考慮為其綁定一個(gè)OnRatingBarChangeLinstener監(jiān)聽器。

實(shí)例如下:

布局文件==》 <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"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><!-- <ImageViewandroid:id="@+id/image"android:layout_width="wrap_content"android:layout_height="200px"android:src="@drawable/no" />--><RatingBarandroid:id="@+id/ratingbar"android:layout_width="wrap_content"android:layout_height="wrap_content"android:max="255"android:numStars="5"android:progress="255"android:stepSize="0.5" /></RelativeLayout>代碼實(shí)現(xiàn)==》 package com.example.myratingbar;import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.ImageView; import android.widget.RatingBar; import android.widget.RatingBar.OnRatingBarChangeListener;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);RatingBar bar = (RatingBar) this.findViewById(R.id.ratingbar);//final ImageView img = (ImageView) this.findViewById(R.id.image);bar.setOnRatingBarChangeListener(new OnRatingBarChangeListener(){@SuppressWarnings("deprecation")@Overridepublic void onRatingChanged(RatingBar ratingBar, float rating,boolean fromUser){//img.setAlpha((int) (rating * 255 / 5));}});}@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;}}

實(shí)現(xiàn)效果如:

?

如何替換如上圖系統(tǒng)默認(rèn)星星圖標(biāo),實(shí)現(xiàn)方式如下:

參考:http://my.oschina.net/amigos/blog/60060

?drawable-mdpl資源文件==》

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" ><itemandroid:id="@+android:id/background"android:drawable="@drawable/unselect"></item><itemandroid:id="@+android:id/secondaryProgress"android:drawable="@drawable/unselect"></item><itemandroid:id="@+android:id/progress"android:drawable="@drawable/select"></item></layer-list>

 樣式文件==》style.xml?

<style name="roomRatingBar" parent="@android:style/Widget.RatingBar"><item name="android:progressDrawable">@drawable/ratingbar_drawable</item><item name="android:minHeight">48dip</item><item name="android:maxHeight">48dip</item></style>

加 布局文件==》

<LinearLayout 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"android:orientation="vertical"tools:context=".MainActivity" ><RatingBarandroid:id="@+id/ratingbar"style="@style/roomRatingBar"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="10dip"android:numStars="8"android:rating="1.5"android:stepSize="0.15" /></LinearLayout>

?運(yùn)行效果如下:

  

?

轉(zhuǎn)載于:https://www.cnblogs.com/YYkun/p/5756594.html

總結(jié)

以上是生活随笔為你收集整理的android学习笔记九——RatingBar的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。