我目前正在为网络社区开发一个Android客户端,该客户端还具有聊天功能。聊天区使用CSS overflow: scroll
显示所有消息。当我尝试在聊天区域中滚动时,会触发周围的SwipeRefreshLayout,而不是允许滚动。
我对网站的工作原理没有影响。我也尝试解决以下问题:SwipeRefreshLayout + WebView when scroll position is at top 但是,这似乎不适用于CSS属性。
我当前的布局如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipeRefresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<org.adblockplus.libadblockplus.android.webview.AdblockWebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v4.widget.SwipeRefreshLayout>
</LinearLayout>
以及相应的Java代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webview = findViewById(R.id.webview);
SwipeRefreshLayout refreshLayout = findViewById(R.id.swipeRefresh);
refreshLayout.setOnRefreshListener(()-> {
webview.reload();
refreshLayout.setRefreshing(false);
});
HashMap<String, String> headers = new HashMap<>();
headers.put("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36");
webview.loadUrl("https://example.com", headers);
}
我希望仅在无法在Web视图中滚动时才触发SwipeRefreshLayout。