У меня есть веб-просмотр в моих фрагментах, и при просмотре веб-просмотра, чем ViewPager также начать проводить - PullRequest
0 голосов
/ 25 июня 2019

Я открывал решение Stack Overflow в своем веб-просмотре, поэтому мобильная версия этой страницы открывается в веб-обзоре. Теперь есть один код, который требует горизонтальной прокрутки, чтобы просмотреть его полностью. Когда я начинаю прокручивать, мой веб-просмотр тоже начинает прокручиваться. В результате прокрутка на веб-странице не происходит, и прокрутка viewPager происходит.

Я попробовал это, но когда я реализовал это, мое перелистывание было полностью отключено. Как отключить подкачку, проводя пальцем в ViewPager, но при этом можно проводить программным способом? Я понятия не имею, как я могу это реализовать.

<LinearLayout android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:focusable="true"
    android:focusableInTouchMode="true"
    xmlns:android="http://schemas.android.com/apk/res/android" >
    <LinearLayout
        android:id="@+id/urlBoxId"
        android:background="@color/colorPrimaryDark"
        android:elevation="4dp"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <EditText
            android:id="@+id/editTextId"
            android:layout_marginHorizontal="3dp"
            android:background="@drawable/rectangle"
            android:paddingHorizontal="10dp"
            android:paddingVertical="8.5dp"
            android:textColor="#fff"
            android:hint="EnterUrl"
            android:inputType="textUri"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="6"/>
    </LinearLayout>
    <WebView
        android:id="@+id/webViewId"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"/>
</LinearLayout>

Это мой фрагмент Layout. У меня есть линейное расположение над веб-представлением. Я хочу отключить считывание ViewPager при просмотре по веб-представлению, но при этом можно смахивать фрагмент при просмотре по linearLayout.

Я новичок в Android.

1 Ответ

0 голосов
/ 26 июня 2019

Поэтому я переопределяю метод onTouch в setOnTouchListener веб-просмотра.

// to access the parent activity
ViewPager vpager = getActivity().findViewById(R.id.myViewPager); 

webView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {

              if(event.getAction()==MotionEvent.ACTION_DOWN || 
                        event.getAction()==MotionEvent.ACTION_POINTER_DOWN){
                    vpager.requestDisallowInterceptTouchEvent(true);

              }else if(event.getAction()==MotionEvent.ACTION_UP ||
                        event.getAction()==MotionEvent.ACTION_POINTER_UP){
                    vpager.requestDisallowInterceptTouchEvent(false);

                }

                return false; // set it false for your webview to scroll correctly.
            }
        });
...