Android仿iOS音量调节的效果


之前提交过一个Android防iOS音量或亮度等调节的效果,只是简单的提交了代码分享,没有对代码的逻辑进行梳理如今希望能有更多原创的东西能与大家分享,同时加深自己的记忆,在这里对代码进行一些分析和改进

效果图:

Android仿iOS音量调节的效果

代码分享:主要是layout

  1. <RatingBar  
  2.     android:id="@+id/volume_ratingBar"  
  3.     style="@style/wmtRatingBar"  
  4.     android:layout_width="wrap_content"  
  5.     android:layout_height="wrap_content"  
  6.     android:layout_gravity="center_vertical"  
  7.     android:numStars="15"  
  8.     android:paddingBottom="20dip"  
  9.     android:paddingTop="20dip" >  
  10. </RatingBar>  

在这里使用的是对Ratingbar进行一些小的修改,主要是修改了其style,即style="@style/wmtRatingBar"

wmtRatingBar.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.     <style name="wmtRatingBar" parent="@android:style/Widget.RatingBar">  
  4.         <item name="android:progressDrawable">@drawable/wmt_ratingbar</item>  
  5.         <item name="android:minHeight">16dip</item>  
  6.         <item name="android:maxHeight">16dip</item>  
  7.     </style>  
  8. </resources>  

wmt_ratingbar.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
  3.      <!-- 分别替换原图背景和进度块 --!>  
  4.     <item android:id="@+android:id/background" android:drawable="@drawable/wmt_ratingbar_off"></item>  
  5.     <item android:id="@+android:id/secondaryProgress" android:drawable="@drawable/wmt_ratingbar_off"></item>  
  6.     <item android:id="@+android:id/progress" android:drawable="@drawable/wmt_ratingbar_on"></item>  
  7. </layer-list>  

如此就已经将layout修改完毕由于RatingBar的方法只能监听停止的动作,就会带来一个很明显的问题,不能在move的同时修改需要的效果,如音量/亮度如果你是做系统,可以在RatingBar.java文件中做一个简单的修改即可,但是只是从应用程度上来说,暂时还没有好的方法.

  • 1
  • 2
  • 下一页

相关内容