diff --git a/app/src/main/java/com/example/lobchat/WebViewActivity.kt b/app/src/main/java/com/example/lobchat/WebViewActivity.kt
index f481dc1..cda7e8d 100644
--- a/app/src/main/java/com/example/lobchat/WebViewActivity.kt
+++ b/app/src/main/java/com/example/lobchat/WebViewActivity.kt
@@ -45,6 +45,7 @@ class WebViewActivity : AppCompatActivity() {
}
}
+ @SuppressLint("ClickableViewAccessibility")
private fun setupRefreshButton() {
// 将按钮置于最前,并设置点击和拖动事件
refreshButton.bringToFront()
@@ -63,7 +64,7 @@ class WebViewActivity : AppCompatActivity() {
val webSettings: WebSettings = webView.settings
webSettings.javaScriptEnabled = true
webSettings.domStorageEnabled = true
- webSettings.cacheMode = WebSettings.LOAD_DEFAULT
+ webSettings.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK
webSettings.databaseEnabled = true
webSettings.mixedContentMode = WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE
@@ -153,11 +154,23 @@ class WebViewActivity : AppCompatActivity() {
Snackbar.make(findViewById(android.R.id.content), message, Snackbar.LENGTH_LONG).show()
}
+ override fun onBackPressed() {
+ // 检查 WebView 是否可以后退
+ if (webView.canGoBack()) {
+ webView.goBack() // 如果可以后退,则调用 goBack()
+ } else {
+ super.onBackPressed() // 否则调用默认的后退行为
+ }
+ }
+
private inner class DraggableTouchListener : View.OnTouchListener {
+
private var dX = 0f
private var dY = 0f
private var isClick = false
+ private val touchSlop = 10 // 触摸阈值,用于判断是否为点击
+ @SuppressLint("ClickableViewAccessibility")
override fun onTouch(view: View, event: MotionEvent): Boolean {
when (event.action) {
MotionEvent.ACTION_DOWN -> {
@@ -166,20 +179,28 @@ class WebViewActivity : AppCompatActivity() {
isClick = true
}
MotionEvent.ACTION_MOVE -> {
- view.animate()
- .x(event.rawX + dX)
- .y(event.rawY + dY)
- .setDuration(0)
- .start()
- isClick = false
+ val deltaX = event.rawX + dX - view.x
+ val deltaY = event.rawY + dY - view.y
+ if (Math.abs(deltaX) > touchSlop || Math.abs(deltaY) > touchSlop) {
+ isClick = false // 超过阈值视为拖动
+ view.animate()
+ .x(event.rawX + dX)
+ .y(event.rawY + dY)
+ .setDuration(0)
+ .start()
+ }
}
MotionEvent.ACTION_UP -> {
if (isClick) {
- logAndReload()
+ // 添加延迟,确保是点击而非拖动
+ view.postDelayed({
+ logAndReload()
+ }, 100) // 延迟100毫秒
}
}
}
return true
}
}
+
}
diff --git a/app/src/main/res/drawable/button_rounded_background.xml b/app/src/main/res/drawable/button_rounded_background.xml
index a5e7827..b5d3a9f 100644
--- a/app/src/main/res/drawable/button_rounded_background.xml
+++ b/app/src/main/res/drawable/button_rounded_background.xml
@@ -1,13 +1,13 @@
-
-
+
+
+ android:color="@android:color/transparent"/>
+ android:bottom="8dp"/>
diff --git a/app/src/main/res/drawable/search_box_background.xml b/app/src/main/res/drawable/search_box_background.xml
index 4ce5da2..379c7ee 100644
--- a/app/src/main/res/drawable/search_box_background.xml
+++ b/app/src/main/res/drawable/search_box_background.xml
@@ -1,6 +1,6 @@
-
+
+
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:fitsSystemWindows="true">
+ android:id="@+id/logoPos"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ android:layout_marginBottom="60dp"
+ app:layout_constraintBottom_toTopOf="@+id/linearLayout">
+ android:id="@+id/logo_3d"
+ android:layout_width="80dp"
+ android:layout_height="80dp"
+ android:contentDescription="@string/logo_3d_description"
+ android:src="@drawable/logo_3d" />
+ android:id="@+id/appLogo"
+ android:layout_width="200dp"
+ android:layout_height="80dp"
+ android:contentDescription="@string/app_logo"
+ android:src="@drawable/logo" />
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:gravity="center"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/logoPos"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintWidth_percent="0.8"
+ android:id="@+id/linearLayout">
-
-
+ android:layout_marginBottom="8dp">
+
+
+ android:id="@+id/loadUrlButton"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:backgroundTint="@color/gray_dark_0"
+ android:text="@string/send"
+ android:textColor="@android:color/white"
+ android:textAllCaps="false"
+ app:cornerRadius="4dp" />
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 88b3f8a..d1cfaae 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -5,11 +5,8 @@
-
@color/purple_dark_9
- -
- @color/design_default_color_background
-
-
- @color/design_default_color_background
+ @color/purple_dark_9
\ No newline at end of file