自定義RatingBar,不同分辨率屏幕下圖片拉伸或者顯示不完整問題解決

        具體的使用我就不介紹了,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>

        修改完畢,在不同分辨率的手機下,都能正常顯示。

注意:有的同學在替換圖片後會發現,星星之間的挨的太近,沒有間距。這個時候可以在切圖的時候,在星星圖片的左右兩邊都加上幾個像素的透明邊距。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章