Pull to Refresh не работает в Webview React NativeAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Pull to Refresh не работает в Webview React Native

Сообщение Anonymous »

В своем приложении React Native я использую React-Cniate-Webview для отображения веб-контента. Я хотел бы добавить функцию Pull-To-Refresh в WebView. < /P>
Но она работает только на iOS. Согласно документации, PulltoreFreshenabled - это только iOS. Есть ли у Android эквивалент? Я также попытался обернуть веб-просмотр в Scrollview с помощью обновления, но иногда нативный вид прокрутки вступает во владение, и иногда это делает WebView, что приводит к тому, что вы можете запустить, даже когда я не наверху. Как я могу реализовать на Android с помощью Android с помощью react-intive-webview?

Код: Выделить всё

import React, { useRef } from 'react';
import { WebView } from 'react-native-webview';
import { StyleSheet } from 'react-native';
import { BASE_URL } from '../constants/global.constants';
import { injectedJavaScript } from '../utils/injectJavascript';
import { handleWebViewMessage } from '../utils/messageHandler';
import { shouldStartLoadWithRequest } from '../utils/navigationHandler';
import { webViewConfig } from '../config/webviewConfig';

const Webview = () => {
const webviewRef = useRef(null);

const handleHttpError = (error: any) => {
console.log('WebView HTTP error:', error);
};

return (

shouldStartLoadWithRequest(request, webviewRef)
}
{...webViewConfig}
mixedContentMode="always"
/>
);
};

export default Webview;

const styles = StyleSheet.create({
webview: {
flex: 1,
},
});

< /code>
[b] раньше я работал над приложением на основе веб -просмотра на основе Android Java. Где я реализовал Pulltorefresh, что не вызывает никакой проблемы [/b] 

import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.webkit.WebView;

public class CustomWebView extends WebView {

private boolean allowRefresh = false;
private float startY=0;
private final float MIN_PULL_DISTANCE = 150;

public CustomWebView(Context context) {
super(context);
}

public CustomWebView(Context context, AttributeSet attrs) {
super(context, attrs);
}

public CustomWebView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}

@Override
protected void onOverScrolled(int scrollX, int scrollY, boolean clampedX, boolean clampedY) {
// Set intercept to true when the WebView is overscrolled vertically
allowRefresh = clampedY;
super.onOverScrolled(scrollX, scrollY, clampedX, clampedY);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
if (event != null) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// Initially disallow parent interception
startY = event.getY();
allowRefresh = false;
requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_MOVE:
// Allow parent interception only when overscrolled
float currentY=event.getY();
float deltaY=currentY-startY;
// Allow refresh if the user is scrolled enough
allowRefresh= getScrollY() == 0 && allowRefresh && deltaY > MIN_PULL_DISTANCE;
requestDisallowInterceptTouchEvent(!allowRefresh);
break;
default:
// For other events, allow normal behavior
requestDisallowInterceptTouchEvent(false);
break;
}
}
return super.onTouchEvent(event);
}
}
Как я могу реализовать одно и то же поведение в React Native Expo

Подробнее здесь: https://stackoverflow.com/questions/797 ... act-native
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Pull to Refresh не работает в Webview React Native
    Anonymous » » в форуме Android
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Функциональность Jetpack Compose Material3 Pull to Refresh
    Anonymous » » в форуме Android
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Функция Pull to Refresh не может извлечь данные ниже и добавить эффект отскока в пользовательский интерфейс.
    Anonymous » » в форуме Android
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Функциональность Jetpack Compose Material3 Pull to Refresh
    Anonymous » » в форуме Android
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • React Native WebView Tul To Refresh не работает на Android
    Anonymous » » в форуме Android
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»