本文主要是介绍垂直的SeekBar探讨,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
上课做MediaPlayer需要用到垂直的SeekBar做音量控制,google之后找到解决方法:http://stackoverflow.com/questions/3333658/how-to-make-a-vertical-seekbar-in-android/8893285#8893285
-
For API 11 and later, can use seekbar's XML attributes(android:rotation="270") for vertical effect.
<SeekBar android:id="@+id/seekBar1" android:layout_width="match_parent" android:layout_height="wrap_content" android:rotation="270"/>
-
For older API level (ex API10), only use Selva's answer:
https://github.com/AndroSelva/Vertical-SeekBar-Android
因为环境是API LEVEL4,所以解决方案一用不上,只能使用解决方案2。在解决方案2中,主要使用了一个自定义类来继承SEEKBAR,然后重写onDraw方法,来逆时针转动90度,即-90度来实现垂直。具体的代码是在:https://github.com/AndroSelva/Vertical-SeekBar-Android/blob/master/sample/src/android/widget/VerticalSeekBar.java
但是功能效果OK,外观上不知道怎么回事有缺陷,即在使用过程中,如果是拖动进度条操作没有问题,但是如果用外部按钮来控制该SeekBar会发生滑块移动和进度条改变没有保持一致,即进度条上升下降的步长远远大于滑块的步长。这个问题还有待研究,不知道是按钮代码问题还是进度条自身的问题。所以未完待续……
这篇关于垂直的SeekBar探讨的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!