gpt4 book ai didi

java - 自定义 ScrollView 不滚动

转载 作者:行者123 更新时间:2023-12-01 11:37:20 25 4
gpt4 key购买 nike

我有一个问题。我有自己的 ScrollView ,但它不起作用。出现了滚动条,但是当我尝试使用它时它不起作用。我尝试了很多东西,但没有一个起作用。代码是:

@SuppressLint("ClickableViewAccessibility") public class myScrollView extends ScrollView {
private boolean enableScrolling = true;

public boolean isEnableScrolling() {
return enableScrolling;
}
public void setEnableScrolling(boolean enableScrolling) {
this.enableScrolling = enableScrolling;
}

public myScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public myScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public myScrollView(Context context) {
super(context);
}

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
if (isEnableScrolling()) {
return super.onInterceptTouchEvent(ev);
} else {
return false;
}
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
if (isEnableScrolling()) {
return super.onInterceptTouchEvent(ev);
} else {
return false;
}
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// TODO Auto-generated method stub
super.onMeasure(widthMeasureSpec, heightMeasureSpec);

setMeasuredDimension(getMeasuredWidth(), getMeasuredHeight());
}
}

在此卷轴内部,我有一个 relativeLayout ,其中有一个 View。在View中我绘制了一些位图。它们的数量超过了屏幕所能显示的数量。

XML 是:

     <com.edjume.myScrollView
android:id="@+id/scroll_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/table">

<RelativeLayout
android:id="@+id/table"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
</RelativeLayout>

</com.edjume.myScrollView>

在我使用的 Activity 中:

RelativeLayout ll = (RelativeLayout) findViewById(R.id.table);
ll.addView(new Table(this));

最后,在我的 View(表格)中,有一个 OnDraw() 和一个 onTouchEvent()。在 onTouchEvent 中,我使用选项 ACTION_DOWNACTION_MOVEACTION_UP

最佳答案

我相信

  @Override
public boolean onTouchEvent(MotionEvent ev) {
if (isEnableScrolling()) {
return super.onInterceptTouchEvent(ev);
} else {
return false;
}
}

应该是:

  @Override
public boolean onTouchEvent(MotionEvent ev) {
if (isEnableScrolling()) {
return super.onTouchEvent(ev);
} else {
return false;
}
}

关于java - 自定义 ScrollView 不滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29837047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com