如果要想自己实现评分的显示图片,那么就必须准备两张图片,一张为填充色的,一张为空色的.

而在Android之中现在根本就不知道有这样的两张图片需要替换掉评分的默认图片,那么就必须

写一个配置文件,找到这两个文件。

这个文件可以在res/drawable-hdpi下编写一个图片文件——star_conf_file.xml

当此配置文件完成之后,实际上这个文件保存在图片文件夹之中,那么就需要在values下编写一个专门的

样式表文件styles.xml

在main.xml中

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<RatingBar

android:id="@+id/ratingbar"

android:numStars="5"

android:stepSize="1"

android:isIndicator="false"

style="@style/myRatingBar"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_margin="40dp"/>

<TextView

android:id="@+id/text"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_margin="40dp"/>

</LinearLayout>

在res/drawable-hdpi新建star_conf_file.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>

在values下新建styles.xml

<?xml version="1.0" encoding="utf-8"?>

<resources>

<style name="myRatingBar" parent="@android:style/Widget.RatingBar">

<item name="android:progressDrawable">

@drawable/star_conf_file

</item>

<item name="android:minHeight">53dp</item>

<item name="android:maxHeight">53dp</item>

</style>

</resources>

在MyRatingBarDemo.java程序中

package com.tarena.ratingbar;

import android.app.Activity;

import android.database.CursorJoiner.Result;

import android.os.Bundle;

import android.text.method.ScrollingMovementMethod;

import android.widget.RatingBar;

import android.widget.RatingBar.OnRatingBarChangeListener;

import android.widget.TextView;

public class MyRatingBarDemo extends Activity {

private RatingBar ratingBar = null;

private TextView text = null;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

super.setContentView(R.layout.main);

this.ratingBar = (RatingBar) super.findViewById(R.id.ratingbar);

this.text = (TextView) super.findViewById(R.id.text);

this.ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListenerImpl());

this.text.setMovementMethod(ScrollingMovementMethod.getInstance()); //设置文本可滚动

}

private class OnRatingBarChangeListenerImpl implements OnRatingBarChangeListener{

public void onRatingChanged(RatingBar ratingBar, float rating,

boolean fromUser) {

int num = (int) rating;

String result = null; //保存文字信息

switch (num) {

case 5:

result = "非常满意";

break;

case 4:

result = "满意";

break;

case 3:

result = "还可以";

break;

case 2:

result = "不满意";

break;

case 1:

result = "非常不满意";

break;

}

MyRatingBarDemo.this.text.setText(result);

}

}

}



更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. Android之获取本地图片并压缩方法
  6. 手动生成Android的R.java文件
  7. 备份、恢复android软件设置
  8. 解读Android(安卓)LOG机制的实现
  9. Android(安卓)(ImageLoader、Fresco、Gilde)三大图片缓存原理、缓

随机推荐

  1. H5结合百度map实现GPS定位的实例教程
  2. 总结.NET平台上一些常用的框架
  3. C#中foreach实例代码
  4. MailKit帮助类实例详解
  5. 泛型的概述和具体使用
  6. 分享一个磁盘文件查看系统
  7. 什么是MVVM架构和数据绑定?
  8. 实现内容精准化搜索和用户精准化推送的实
  9. 树莓派(Raspberry Pi,RPi)的详细介绍
  10. 分享一个jQuery效果实例代码