温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android中RatingBar的自定义效果

发布时间:2020-06-06 16:22:24 来源:网络 阅读:301 作者:tfy1332 栏目:移动开发

Android中RatingBar的自定义效果
有时候android系统提供给我们的ratingbar效果并不达到我们的要求,这个时候就可以自定义自己喜欢的ratingbar。
从上面的效果可以看出,自定义这样的组件,需要两张图片:Android中RatingBar的自定义效果  。一张用来未选择的效果,一张用来显示的效果。那还要中间那种一半是未选择一半时选择的呢?其实当你写好这样的组件后,系统就会自动帮你自动解析生成那种效果。
整个项目布局:
Android中RatingBar的自定义效果
我们一步一步来分析:

Xml代码  <RatingBar  

 

android:layout_marginLeft="10dip"

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:id="@+id/room_ratingbar">


从上面可看出自定义ratingbar主要是这段 ,好我们去找到这段代码

/////////styles.xml

Xml代码  







上面的意思是继承@android:style/Widget.RatingBar,重写android:progressDrawable属性,换成我们自定义@drawable/room_rating_bar文件。

控制该组件的最大和最小高度。好我们继续去找这自定义文件@drawable/room_rating_bar。

///// room_rating_bar.xml

Xml代码  





<item android:id="@+android:id/background"

android:drawable="@drawable/room_unselect">

<item android:id="@+android:id/secondaryProgress"

android:drawable="@drawable/room_unselect">

<item android:id="@+android:id/progress"

android:drawable="@drawable/room_select">


好了,越来越接近真相了。这里就是定义组件的背景图片、一级进度背景图片和二级进度背景图片(里面这些id都是系统的id,当系统运行到这里时会自动根据这个id去重画组件)

讲到这里大概明白怎么用了。其实很多组件都可以通过这样的方法来使用,但如果明白整个过程,那以后做起其他来都至少有一点得心应手的感觉吧。好!下来我也只能说说我的见解,因为本人对android的理解也不是很深入。

前提是下载android的源码,这里我就不讲了。在android framework\\base\\core\\res\\res\\values(android framework是我保存源码的目录)目录下找到styles.xml文件,该文件是android系统运行时所要加载的文件,里面保存了所有组件的样式定义。在里面你可以找到


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI