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

来源:互联网 发布:mac搜狗输入法不能用 编辑:程序博客网 时间:2024/05/17 08:11
[摘要:详细的应用我便没有先容了,CSDN有良多专客皆先容到了。正在应用自界说的图片时,须要用到一个style文件,以下: resources style name= myRatingBar parent= @android:style/Widget.RatingBar item name= android] 

        具体的使用我就不介绍了,CSDN有很多博客都介绍到了。在使用自定义的图片时,需要用到一个style文件,如下:

<resources>

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

       <item name="android:progressDrawable">@drawable/my_rating_bar</item>

       <item name="android:minHeight">16dip</item>

       <item name="android:maxHeight">16dip</item>

    </style>

</resources>

        如果需要适配多分辨率多屏幕密度的情况下,android:minHeight和 android:maxHeight这两个属性不管设置多大都不合适。一种屏幕合适了,在另外一个屏幕上,就可能显示不完整或者图片被拉伸。

        解决的方法如下:

step 1:将\\这两张图片分别拷贝到以下文件夹;

            \\

setp 2:修改android:minHeight 和 android:maxHeight 这两个属性的值为图片的实际高度,用px为单位。假设图片的尺寸为 36x30,修改后如下:

<resources>

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

       <item name="android:progressDrawable">@drawable/room_rating_bar</item>

       <item name="android:minHeight">30px</item>

       <item name="android:maxHeight">30px</item>

    </style>

</resources>

        修改完毕,在不同分辨率的手机下,都能正常显示。

注意:有的同学在替换图片后会发现,星星之间的挨的太近,没有间距。这个时候可以在切图的时候,在星星图片的左右两边都加上几个像素的透明边距。

0 0