我正在使用水平滚动视图的拇指来指示用户所在的页面。我想要发生的是拇指宽度是屏幕宽度/页面数量,这是大型设备上发生的情况。当我切换到手机时出现问题:拇指宽度不再是我不能使用的大小。
有没有办法在水平滚动视图中更改拇指的宽度(或垂直滚动视图中的高度)?
答案 0 :(得分:0)
所以我明白了。您无法更改实际的滚动视图滚动条,因为您需要ADK中不属于ScrollBarDrawable的类。所以我所做的是覆盖了scrollview并绘制了一个自定义滚动条。还要确保禁用scrollviews默认滚动条(View.setVericalScrollbarEnabled(boolean)或android:scrollbars =" none")
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w,h,oldw,oldh);
width = getWidth() - getPaddingLeft() - getPaddingRight();
//you need this to get the total width of the scrollview (with all of the children)
measure(w,h);
totalWidth = getMeasuredWidth();
}
@Override
public void onDraw(Canvas canvas){
super.onDraw(canvas);
float xPer = getScrollX() / totalWidth;
canvas.drawRect(
(xPer * width) + getScrollX(),
getHeight() - scrollBarHeight,
//scroll position //width of the bar //offset in the actual canvas
((xPer * width) + (width/(totalWidth/width)) + getScrollX(),
getHeight(), paint);
}
希望这有助于其他人!