Есть ли способ отключить hapticFeedback в react-native-webview?

 <ScrollView
      ref={scrollRef}
      horizontal
      scrollEnabled={isScroll}
      contentContainerStyle={{height: HEIGHT, overflow: 'hidden'}}
      style={{
        width: metrics.screenWidth - widthOffset,
      }}
      onScroll={_onScroll}>
      <WebView
        ref={webviewRef}
        automaticallyAdjustContentInsets={false}
        scrollEnabled={false}
        showsHorizontalScrollIndicator={false}
        showsVerticalScrollIndicator={false}
        onLoadEnd={_loadEnd}
        bounces={false}
        source={{
          html: getHtml(final, scale),
        }}
        style={{
          height: HEIGHT,
          width: WIDTH,
          backgroundColor: 'transparent',
        }}
        onMessage={_onMessage}
        javaScriptEnabled={true}
        textZoom={90}
      />
    </ScrollView>

также есть

source.replace(
    '<img',
    '<img ontouchend="window.ReactNativeWebView.postMessage(`imgsrc__`+this.src)"',
)

так что проблема в том, когда я прокручиваю этот вид прокрутки по html img, он получает прикосновение, и телефон вибрирует. Есть ли способ отключить тактильную обратную связь в веб-просмотре либо из исходного конца (html), либо из исходного конца веб-просмотра?

Я думаю, это связано с тем, что при прокрутке тег img воспринимает взаимодействие как долгое касание, поэтому он включает долгое касание в веб-просмотре.


person Harish Jangra    schedule 06.02.2020    source источник
comment
Если ваше предположение о событии длительного нажатия верно, вы можете (по крайней мере, для Android) попробовать добавить android:hapticFeedbackEnabled="false" к вашему Manifest.xml, см. здесь: stackoverflow. com/a/52588549/2422125   -  person Fabian N.    schedule 04.03.2020
comment
спасибо, но установка манифеста не решает проблему. Мне пришлось передать реквизит в веб-просмотр   -  person Harish Jangra    schedule 05.03.2020


Ответы (2)



Это отключит любые прикосновения к Webview и убедитесь, что вы применяете pointerEvents к представлению, поскольку Webview не поддерживает pointerEvents.

<ScrollView>
      <View pointerEvents="none">
        <WebView
          style={{ height: HEIGHT, width: WIDTH }}
          source={{ getHtml(final, scale) }}
        />
      </View>
    </ScrollView>
person Aaleen Mirza    schedule 05.03.2020
comment
Если я отключу pointerEvents, то внутри веб-просмотра ничего нельзя будет трогать. так жаль не принято - person Harish Jangra; 05.03.2020