实验室引进了zwatch做开发,其中一个比较大的问题就是如何对240*240的小屏幕做屏幕适应。今天做睡眠跟踪中的睡眠质量评级,引进了特别喜欢的ratingbar,结果评级star太大,导致星星越界,最后一个星星直接超出了屏幕外。网上大致搜了三种方法,只有一种还是比较符合胃口的,在这里做一个简单的总结。
一、属性值调整
android:maxWidth="30dp"
android:maxHeight="30dp"
android:soundEffectsEnabled="true" />
二、style调整
代码还是上面的那个代码,唯一区别是加一行属性:
style="?android:attr/ratingBarStyleSmall"
这样做之后,星星真的变小了!看见星星变小的那一刻我tmd眼泪都出来了,这也忒小了吧!!
真是受不了,到手机上以后就是笔尖的大小。
三、自定义style
虽然耗费了一晚上完成这个实验,但是还是觉得学到了些东西。在尝试第三种方法之前,我看过了各种各样的帖子,都在询问怎么才能不自定义而后直接调用云云。很遗憾,一直找到最底层的platform的style,发现安卓只提供了StyleSmall和Style以及一个Indicator三种style,
style="?android:attr/ratingBarStyleSmall" style="?android:attr/ratingBarStyle" style="?android:attr/ratingBarStyleIndicator"大小都不满意。最后决定还是使用最麻烦的方法。
下面我就来讲讲如何制作自己的RatingBar样式。
1、在res/data/style.xml文件中定义种样式: