1

私のプロジェクトでは、ScrollView を使用して製品のリストを表示しています。各製品にはサブ製品があります。サブ製品を表示するために realviewswitcher を使用しています。これまではすべて正常に動作します。問題は、scrollView をスクロールするとうまくスクロールすることです。左から右にスワイプしているときに scrollView を無効にしたい。Scrollview は、上から下にスワイプしたときにのみ機能する必要があります。

カスタム ScrollView を試してみましたが、期待どおりの結果が得られませんでした。私も setEnabled(false) no use を使用しました。彼らの他の解決策はありますか?教えてください

4

1 に答える 1

2

これを試して

必要に応じてスクロールを無効にします(垂直/水平)。または、これを試すことができます:

次のように、親 scrollview と子 realviewswitcher の両方に setOnTouchListener を実装します。

parentScrollView= (ScrollView) findViewById(R.id.parentScrollview);
parentScrollView.setOnTouchListener(new View.OnTouchListener() {

    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub
         //Log.v(TAG,"PARENT TOUCH");
         findViewById(R.id.childScrollView).getParent().requestDisallowInterceptTouchEvent(false);
        return false;
        }
    });
childScrollView= (ScrollView) findViewById(R.id.childScrollView);
childScrollView.setOnTouchListener(new View.OnTouchListener() {

    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub
         //Log.v(TAG,"PARENT TOUCH");
         findViewById(R.id.childScrollView).getParent().requestDisallowInterceptTouchEvent(true);
        return false;
    }
});
于 2013-04-08T07:38:36.213 に答える