fix:临时方案修复WEB弹窗因导航栏导致的显示被裁剪问题

This commit is contained in:
Max
2023-11-21 19:36:30 +08:00
parent 034185d13b
commit 7291b61e44
4 changed files with 214 additions and 176 deletions

View File

@@ -3,8 +3,8 @@ package com.yizhuan.habu.ui.webview;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
@@ -28,8 +28,18 @@ public class DialogWebViewActivity extends CommonWebViewActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, ScreenUtil.screenHeight / 3 * 2);
getWindow().setGravity(Gravity.BOTTOM);
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
);
getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
View topView = findViewById(R.id.v_top);
topView.setOnClickListener(v -> finish());
ViewGroup.LayoutParams params = topView.getLayoutParams();
params.height = ScreenUtil.screenHeight / 3;
topView.setLayoutParams(params);
showTitleBar = getIntent().getBooleanExtra("showTitleBar", true);
if (!showTitleBar) {
layoutTitleBar.setVisibility(View.GONE);

View File

@@ -4,12 +4,10 @@ import android.content.Context
import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import android.view.Gravity
import android.view.View
import android.view.WindowManager
import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView
import com.chuhai.utils.UiUtils
import com.netease.nim.uikit.common.util.sys.ScreenUtil
import com.yizhuan.habu.R
import com.yizhuan.habu.ui.webview.CommonWebViewActivity
import com.yizhuan.xchat_android_core.home.bean.BannerInfo
@@ -42,11 +40,19 @@ class RoomBannerWebDialogActivity : CommonWebViewActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_FULLSCREEN
or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY)
window.setLayout(
WindowManager.LayoutParams.MATCH_PARENT,
ScreenUtil.screenHeight - UiUtils.dip2px(168f)
WindowManager.LayoutParams.MATCH_PARENT
)
window.setGravity(Gravity.BOTTOM)
val topView = findViewById<View>(R.id.v_top)
topView.setOnClickListener { v: View? -> finish() }
val params = topView.layoutParams
params.height = UiUtils.dip2px(168f)
topView.layoutParams = params
webView.setBackgroundColor(Color.parseColor("#C9CBD1"))
recyclerView = findViewById(R.id.recyclerView)
val position = 0.coerceAtLeast(intent.getIntExtra("position", 0))

View File

@@ -1,95 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="10dp"
app:cardElevation="0dp">
android:orientation="vertical">
<LinearLayout
<View
android:id="@+id/v_top"
android:layout_width="match_parent"
android:layout_height="0dp" />
<androidx.cardview.widget.CardView
android:id="@+id/layout_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="10dp"
app:cardElevation="0dp">
<FrameLayout
android:id="@+id/layout_title_bar"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="48dp">
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@+id/layout_title_bar"
android:layout_width="match_parent"
android:layout_height="48dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="horizontal">
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_back"
android:layout_width="45dp"
android:layout_height="45dp"
android:scaleType="center"
android:src="@drawable/arrow_left" />
<ImageView
android:id="@+id/iv_close"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_gravity="center_vertical|start"
android:scaleType="center"
android:src="@drawable/ic_close_black" />
</LinearLayout>
<TextView
android:id="@+id/tv_title"
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
android:textColor="@color/text_title_color"
android:textSize="18sp" />
<ImageView
android:id="@+id/iv_back"
android:layout_width="45dp"
android:layout_height="45dp"
android:scaleType="center"
android:src="@drawable/arrow_left" />
android:id="@+id/img_share"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="15dp"
android:src="@drawable/ic_share_white"
android:visibility="gone" />
<ImageView
android:id="@+id/iv_close"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_gravity="center_vertical|start"
android:scaleType="center"
android:src="@drawable/ic_close_black" />
<TextView
android:id="@+id/tv_title_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="15dp"
android:textColor="@color/text_normal_c6c6e9"
android:textSize="14sp"
android:visibility="gone"
tools:text="@string/layout_activity_dialog_web_view_01" />
</FrameLayout>
</LinearLayout>
<ProgressBar
android:id="@+id/progress_bar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="1dp"
android:max="100"
android:progress="0"
android:progressDrawable="@drawable/progress_drawable" />
<TextView
android:id="@+id/tv_title"
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
android:textColor="@color/text_title_color"
android:textSize="18sp" />
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/img_share"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="15dp"
android:src="@drawable/ic_share_white"
android:visibility="gone" />
</WebView>
<TextView
android:id="@+id/tv_title_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="15dp"
android:textColor="@color/text_normal_c6c6e9"
android:textSize="14sp"
android:visibility="gone"
tools:text="@string/layout_activity_dialog_web_view_01" />
</FrameLayout>
<ProgressBar
android:id="@+id/progress_bar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="1dp"
android:max="100"
android:progress="0"
android:progressDrawable="@drawable/progress_drawable" />
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent">
</WebView>
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>

View File

@@ -1,108 +1,118 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:cardBackgroundColor="@color/color_262629"
app:cardCornerRadius="8dp"
app:cardElevation="0dp">
android:orientation="vertical">
<LinearLayout
<View
android:id="@+id/v_top"
android:layout_width="match_parent"
android:layout_height="0dp" />
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
app:cardBackgroundColor="@color/color_262629"
app:cardCornerRadius="8dp"
app:cardElevation="0dp">
<FrameLayout
android:id="@+id/layout_title_bar"
android:layout_width="0dp"
android:layout_height="0dp"
android:visibility="gone">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_back"
android:layout_width="45dp"
android:layout_height="45dp"
android:scaleType="center"
android:src="@drawable/arrow_left" />
<ImageView
android:id="@+id/iv_close"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_gravity="center_vertical|start"
android:scaleType="center"
android:src="@drawable/ic_close_black" />
</LinearLayout>
<TextView
android:id="@+id/tv_title"
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
android:textColor="@color/text_title_color"
android:textSize="18sp" />
<ImageView
android:id="@+id/img_share"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="15dp"
android:src="@drawable/ic_share_white"
android:visibility="gone" />
<TextView
android:id="@+id/tv_title_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="15dp"
android:textColor="@color/text_normal_c6c6e9"
android:textSize="14sp"
android:visibility="gone"
tools:text="@string/layout_activity_dialog_web_view_01" />
</FrameLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_60"
android:orientation="horizontal"
android:paddingHorizontal="8dp"
android:paddingTop="@dimen/dp_2"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
<androidx.cardview.widget.CardView
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:cardCornerRadius="8dp"
app:cardElevation="0dp">
android:orientation="vertical">
<WebView
android:id="@+id/webview"
<FrameLayout
android:id="@+id/layout_title_bar"
android:layout_width="0dp"
android:layout_height="0dp"
android:visibility="gone">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_back"
android:layout_width="45dp"
android:layout_height="45dp"
android:scaleType="center"
android:src="@drawable/arrow_left" />
<ImageView
android:id="@+id/iv_close"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_gravity="center_vertical|start"
android:scaleType="center"
android:src="@drawable/ic_close_black" />
</LinearLayout>
<TextView
android:id="@+id/tv_title"
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
android:textColor="@color/text_title_color"
android:textSize="18sp" />
<ImageView
android:id="@+id/img_share"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="15dp"
android:src="@drawable/ic_share_white"
android:visibility="gone" />
<TextView
android:id="@+id/tv_title_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="15dp"
android:textColor="@color/text_normal_c6c6e9"
android:textSize="14sp"
android:visibility="gone"
tools:text="@string/layout_activity_dialog_web_view_01" />
</FrameLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:layout_height="@dimen/dp_60"
android:orientation="horizontal"
android:paddingHorizontal="8dp"
android:paddingTop="@dimen/dp_2"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
<ProgressBar
android:id="@+id/progress_bar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="4dp"
android:max="100"
android:progress="0"
android:progressDrawable="@drawable/progress_drawable_room_banner" />
</androidx.cardview.widget.CardView>
android:layout_height="match_parent"
app:cardCornerRadius="8dp"
app:cardElevation="0dp">
</LinearLayout>
</androidx.cardview.widget.CardView>
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ProgressBar
android:id="@+id/progress_bar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="4dp"
android:max="100"
android:progress="0"
android:progressDrawable="@drawable/progress_drawable_room_banner" />
</androidx.cardview.widget.CardView>
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>