Как ущипнуть, чтобы увеличить WebView внутри ScrollView?

Как ущипнуть, чтобы увеличить WebView внутри ScrollView?

Я знаю, что мне следовало избегать использования WebView внутри ScrollView, но я вынужден. У меня такой расклад:

<ScrollView
        android:id = "@+id/scroll"
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content">
        <RelativeLayout
            android:id = "@+id/relativebelowscroll"
            android:layout_width = "match_parent"
            android:layout_height = "match_parent">
            <WebView
                android:id = "@+id/jobcontent"
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:animateLayoutChanges = "true">
            </WebView>
            <com.google.android.gms.ads.AdView
                android:id = "@+id/adView"
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:layout_below = "@id/jobcontent"
                android:visibility = "visible"
                app:adSize = "BANNER"
                app:adUnitId = "ca-app-pub-XXXXXXXXXXXXXXXXXX" />
                <!--The following should be shown on ad failed to load -->
            <LinearLayout
                android:id = "@+id/dimage"
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:layout_below = "@id/jobcontent"
                android:background = "#367AB8"
                android:gravity = "center_vertical|center_horizontal"
                android:visibility = "visible">
                <ImageView
                    android:id = "@+id/dimage2"
                    android:layout_width = "wrap_content"
                    android:layout_height = "50dp"
                    android:layout_gravity = "left|center_horizontal"
                    android:src = "@drawable/banner_left"
                    android:visibility = "visible" />
                <ImageView
                    android:id = "@+id/dimage3"
                    android:layout_width = "wrap_content"
                    android:layout_height = "50dp"
                    android:layout_gravity = "right"
                    android:src = "@drawable/banner_right"
                    android:visibility = "visible" />
            </LinearLayout>
        </RelativeLayout>
    </ScrollView>

Он работает хорошо, но с жестом увеличения возникают некоторые проблемы, поскольку он находится внутри ScrollView. Я просмотрел другие такие же вопросы, но все они предлагают удалить ScrollView, но я не могу в этом конкретном случае. У меня есть adview чуть ниже WebView, поэтому, когда пользователь прокручивает, он прокручивает весь путь до Adview, но если я не использую ScrollView, прокрутка заканчивается, пока WebView не получит свой конец при прокрутке. Он не прокручивается под WebView, чтобы показать это объявление. Итак, в этом случае ScrollView необходим и не может быть удален. Если я использую этот макет, я могу увеличить масштаб, но не могу прокрутить ниже содержимого WebView, чтобы отобразить просмотр рекламы.

    <WebView
                    android:id = "@+id/jobcontent"
                    android:layout_width = "match_parent"
                    android:layout_height = "wrap_content"
                    android:animateLayoutChanges = "true">
    </WebView>
                <com.google.android.gms.ads.AdView
                    android:id = "@+id/adView"
                    android:layout_width = "match_parent"
                    android:layout_height = "wrap_content"
                    android:layout_below = "@id/jobcontent"
                    android:visibility = "visible"
                    app:adSize = "BANNER"
                    app:adUnitId = "ca-app-pub-XXXXXXXXXXXXXXX" />
                <LinearLayout
                    android:id = "@+id/dimage"
                    android:layout_width = "match_parent"
                    android:layout_height = "wrap_content"
                    android:layout_below = "@id/jobcontent"
                    android:background = "#367AB8"
                    android:gravity = "center_vertical|center_horizontal"
                    android:visibility = "visible">
                    <ImageView
                        android:id = "@+id/dimage2"
                        android:layout_width = "wrap_content"
                        android:layout_height = "50dp"
                        android:layout_gravity = "left|center_horizontal"
                        android:src = "@drawable/banner_left"
                        android:visibility = "visible" />
                    <ImageView
                        android:id = "@+id/dimage3"
                        android:layout_width = "wrap_content"
                        android:layout_height = "50dp"
                        android:layout_gravity = "right"
                        android:src = "@drawable/banner_right"
                        android:visibility = "visible" />
</LinearLayout>

Есть ли возможность показать щепотку, чтобы увеличить мою ситуацию или заставить второй прокрутку макета работать до просмотра рекламы?

Отметьте это stackoverflow.com/questions/33117198/…

Fustigador 26.10.2018 13:48

Спасибо @Fustigador. Я быстро посмотрел здесь developer.android.com/reference/android/view/MotionEvent Итак, разрешение перехватывать события касания только для MotionEvent.ACTION_SCROLL и блокирование всех остальных будет решением для увеличения масштабирования, чем?

M.Monoo 26.10.2018 13:58

Вы также должны запретить ScrollView перехватывать событие движения, когда веб-просмотр перехватывает его, но да, в основном это так.

Fustigador 26.10.2018 14:02
0
3
771
0

Другие вопросы по теме