一,颜色

用过RatingBar的都知道,这玩意比较坑,不好调整大小,颜色.

这里给出修改颜色的方法

style.xml中添加style

    

然后给RatingBar添加属性

android:theme="@style/RatingBar"
这样就实现了自定义颜色.


PS:网上有另一种方法添加属性

android:progressTint="@color/orange_main_color"
这种方法其实是有问题的,会在星星的左边有阴影.细心的测试是不会放过这一点的.


二,大小

大小也不好控制,最简单的是通过系统提供的两个style来控制

?android:attr/ratingBarStyleIndicator和?android:attr/ratingBarStyleSmall

但是这样也并不能达到我们想要的效果

三,自定义样式

1,准备两个图标资源

stars_bright    stars_gray

2,新建drawable

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

3,定义一个style

    

4,使用

到此还没有完成,此时图片显示是有问题的,如下


5,解决上面的问题

//1,获取图片的高度Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.stars_bright);starsImgHeight = bmp.getHeight();//2,将获取的图片高度设置给RatingBarLinearLayout.LayoutParams lp = (LinearLayout.LayoutParams)ratingBar.getLayoutParams();lp.width = LinearLayout.LayoutParams.WRAP_CONTENT;lp.height =starsImgHeight;ratingBar.setLayoutParams(lp);

也就是先获取图片资源的高度,然后取ratingBar的LayoutParams,对其设置高度,然后再set给ratingBar。

效果如下:







更多相关文章

  1. 浅谈android的selector背景选择器
  2. Android(安卓)显示网络图片
  3. Android中Shape和selector的使用
  4. 在控件的任意位置显示图片
  5. [置顶] 我的Android进阶之旅------>Android之选项卡(TabHost)的
  6. android启动界面说明
  7. 使用架包实现android异步加载图片
  8. android实现自定义相机以及图片的水印
  9. android设置edittext光标的颜色

随机推荐

  1. 获取web服务器xml数据
  2. ANDROID Porting系列五、定制化
  3. Android——用户登陆及用户名和密码的保
  4. Android(安卓)Studio单元测试
  5. android AIDL服务
  6. Android入门系列(一)--Android的目录结构
  7. Android 模拟HTTP协议的编码问题 Android
  8. Android Studio使用教程、工程目录结构、
  9. Eclipse SDK 3.7.2无法安装android SDK
  10. Android与H5相机、相册笔记