android seekbar垂直
时间: 2023-10-18 14:59:43 浏览: 159
要Android中实现垂直的SeekBar,可以通过自定义SeekBar的外观来实现。以下是一种可能的实现方式:
1. 创建一个自定义的垂直SeekBar类,继承自SeekBar类:
```java
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 defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
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(heightMeasureSpec, widthMeasureSpec);
setMeasuredDimension(getMeasuredHeight(), getMeasuredWidth());
}
@Override
protected void onDraw(Canvas c) {
c.rotate(-90);
c.translate(-getHeight(), 0);
super.onDraw(c);
}
}
```
2. 在布局文件中使用自定义的VerticalSeekBar:
```xml
<com.example.yourpackage.VerticalSeekBar
android:id="@+id/verticalSeekBar"
android:layout_width="wrap_content"
android:layout_height="200dp" />
```
3. 在代码中找到SeekBar实例并设置其方向为垂直:
```java
VerticalSeekBar verticalSeekBar = findViewById(R.id.verticalSeekBar);
verticalSeekBar.setRotation(90);
```
这样就可以实现一个垂直的SeekBar了。你可以根据需要自定义SeekBar的样式和外观。
阅读全文