• 自定义RatingBar,不同分辨率屏幕下图片拉伸或者显示不完整问题解决


    1、需要两张评分图片ic_rating_highlight.png ic_rating_normal_white.png(宽高都是52px,且有内边距)

       将这两张图片添加到各分辨率文件夹下 

       开发过程:

       1.1 根据设计图,1个星星约等于1/3指尖宽高,而指尖宽高取47dp,所以一个星星宽高取 47dp/3,即16dp

       1.2 根据dp与px的关系,在xxhdpi分辨率下,16dp对应的宽高为48px,所以星星切片应当在48px左右,并放到drawable/mipmap xxhdpi下

         在不同分辨率下即可进行自适应

    2、drawable下添加dw_ratingbar_white.xml

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
     3 
     4     <item
     5         android:id="@android:id/background"
     6         android:drawable="@mipmap/ic_rating_normal_white"/>
     7     <item
     8         android:id="@android:id/secondaryProgress"
     9         android:drawable="@mipmap/ic_rating_normal_white"/>
    10     <item
    11         android:id="@android:id/progress"
    12         android:drawable="@mipmap/ic_rating_highlight"/>
    13 
    14 </layer-list>

    3、values下styles.xml里添加

    1     <style name="bgWhiteRatingBar" parent="@android:style/Widget.RatingBar">
    2         <item name="android:progressDrawable">@drawable/dw_ratingbar_white</item>
    3         <item name="android:maxHeight">16dp</item>
    4         <item name="android:minHeight">16dp</item>
    5     </style>

    4、评分条布局

     1 <!--星级-->
     2 <RatingBar
     3     android:id="@+id/rating_bar_home"
     4     style="@style/bgWhiteRatingBar"
     5     android:layout_width="wrap_content"
     6     android:layout_height="wrap_content"
     7     android:layout_gravity="bottom"
     8     android:layout_marginLeft="20dp"
     9     android:isIndicator="true"
    10     android:numStars="5"
    11     android:stepSize="1"/>

    附:

     

  • 相关阅读:
    FluorineFx:基于RSO(远程共享对象)的文本聊天室
    第一个十年,我从教师转行为web程序员,下一个十年呢?
    AS3中的单件(Singleton)模式
    数据结构C#版笔记双向链表(DbLinkList)
    FluorineFx:认证与授权
    FluorineFx:视频录制及回放(Flash/AS3环境)
    数据结构C#版笔记顺序表(SeqList)
    puremvc框架之hello world!
    flex中使用swc实现更好的界面代码分离
    puremvc框架之Command
  • 原文地址:https://www.cnblogs.com/jinglecode/p/5960790.html
Copyright © 2020-2023  润新知