Android SeekBar设置为垂直的布局

在网站找了垂直布局的seekbar方法

自己实践了下。在修改seekbar的背景图片时发现得把图片顺时针倾斜90度才能把图片完全显示出来。

如下图片heart7.png

图片heart8.png:

图片jian.png

seekbar的垂直布局就是垂直显示完整图片了

OK,,上菜。。

java文件

1. VerticalSeekBar.java

import android.content.Context;import android.graphics.Canvas;import android.util.AttributeSet;import android.util.Log;import android.view.MotionEvent;import android.widget.SeekBar;public class VerticalSeekBar extends SeekBar {public VerticalSeekBar(Context context) {super(context);}public VerticalSeekBar(Context context, AttributeSet attrs) {super(context, attrs);} public VerticalSeekBar(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);} protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(h, w, oldh, oldw); } @Override protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); setMeasuredDimension(getMeasuredHeight(), getMeasuredWidth()); } protected void onDraw(Canvas c) { c.rotate(-90); c.translate(-getHeight(),0); super.onDraw(c); } @Override public boolean onTouchEvent(MotionEvent event) { if (!isEnabled()) { return false; } switch (event.getAction()) { case MotionEvent.ACTION_DOWN: case MotionEvent.ACTION_MOVE: case MotionEvent.ACTION_UP: int i=0; i=getMax() – (int)(getMax() * event.getY() / getHeight()); setProgress(i); Log.i("Progress",getProgress()+""); onSizeChanged(getWidth(),getHeight(), 0, 0); break; case MotionEvent.ACTION_CANCEL: break; } return true; }}

2. main.xml

<LinearLayout android:layout_width="wrap_content" android:layout_height="fill_parent" android:orientation="vertical" > <cn.org.farseer.android.Phone.VerticalSeekBar android:id="@+id/callseek" android:layout_width="220dp" android:layout_height="60dp" android:layout_margin="10dp" android:max="100" android:progress="50" android:progressDrawable="@drawable/seekbar_call" android:thumb="@drawable/thumbj"/> </LinearLayout>

3. seekbar_call.xml

<?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android=""> <item android:id="@android:id/background" android:drawable="@drawable/heart8"> </item> <item android:id="@android:id/progress" android:drawable="@drawable/heart7"> </item> </layer-list>

4. thumbj.xml

你可以用爱得到全世界,你也可以用恨失去全世界

Android SeekBar设置为垂直的布局

相关文章:

你感兴趣的文章:

标签云: