Vertical SeekBar?

by Jared » Mon, 09 Feb 2009 15:23:11 GMT

Sponsored Links
 Is it possible to have a vertical SeekBar? I would want this for a
tilt control slider.


Vertical SeekBar?

by Jared » Thu, 12 Feb 2009 06:37:37 GMT

 I am still interested in solving this. Does anyone have an idea on how
to accomplish this?


Sponsored Links

Vertical SeekBar?

by Dianne Hackborn » Thu, 12 Feb 2009 07:38:55 GMT

 Probably copying the seek bar code and modifying it to work how you want.

Dianne Hackborn
Android framework engineer

Note: please don't send private questions to me, as I don't have time to
provide private support.  All such questions should be posted on public
forums, where I and others can see and answer them.


Vertical SeekBar?

by nderraugh » Sun, 08 Mar 2009 13:50:35 GMT


I'm trying to get a vertical seekbar going with the emulator, but I'm
sort of stuck. I can get the seekbar to display the way I want it to,
and I can get the progress to do what I want, and I can modify the
onTouchEvent to get the thumb to go vertically instead of
horizontally. What I can't do is get the thumb to move outside of the
default 29 horizontal pixels without using setThumbOffset(). This in
itself isn't a problem. The problem is coming from the fact that I
don't understand the thumbOffset at all -- I guess.I suspect I'm just
not familar enough with developing UIs. I think I could resize the
widget, which I am pretty sure I'm not doing right. Or maybe I could
just use the thumbOffset if I could figure it out. Since I can
calculate the progress correctly I thought I would just use a linear
function of progress * (getTop() - getBottom()) of the widget but that
doesn't seem to do it. But I can't figure out what the offset is
centered around.

As a somewhat aside, I am really unsure if what I am doing in
onSizeChanged() is sane or if it's going to bite me in the ass later

Here's the main.xml layout and the class (ignore the debugging junk):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="
android:layout_height="fill_parent" >

android:secondaryProgress="25" />

<Button android:id="@+id/button"
android:text="Hello, I am a Button" />

<TextView android:id="@+id/tracking"
android:layout_height="wrap_content" />


import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.SeekBar;

public class SlideBar extends SeekBar {

private int oHeight = 320, oWidth = 29;
private int oProgress = -1, oOffset = -1;;
private float xPos = -1, yPos = -1;
private int top = -1, bottom = -1, left = -1, right = -1;

public SlideBar(Context context) {
public SlideBar(Context context, AttributeSet attrs)
super(context, attrs);
oOffset = this.getThumbOffset();
oProgress = this.getProgress();
public SlideBar(Context context, AttributeSet attrs, int defStyle)
super(context, attrs, defStyle);

protected synchronized void onMeasure(int widthMeasureSpec, int
int height = View.MeasureSpec.getSize(heightMeasureSpec);
oHeight = height;
this.setMeasuredDimension(oWidth, oHeight