feat(webview): 将文本显示改为WebView组件并支持HTML内容展示
- 将activity_fo.xml中的TextView替换为WebView组件 - 在XWebViewActivity中添加content参数用于传递HTML内容 - 实现当URL为空时通过loadData方法加载HTML内容的功能 - 添加startWebNoTopBarForContent方法支持无顶部栏的内容展示 - 设置WebView背景色为黑色以匹配应用主题 - 添加ToolsHelper工具类用于判断URL是否为空
这个提交包含在:
父节点
2d8770040f
当前提交
f47d9ee047
文件差异因一行或多行过长而隐藏
@ -18,15 +18,12 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<TextView
|
||||
<WebView
|
||||
android:id="@+id/content"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="300dp"
|
||||
android:text="采用手工铺贴,按操作规程CD1442要求进行铺贴,将铺层信息填写在表SAMC 31-71《零件铺层信息、生产记录表》中,并扫描上传。 1)I型表面胶膜铺贴最大搭接6mm或对接最大间隙1.5mm。按投影线及工装余量刻线进行铺贴。 2)织物铺层的方向公差为±5°,铺贴中允许搭接13mm~25mm或对接间隙≤1.5mm,拼缝错开至少25mm,同向铺层之间可以每隔4层重复拼缝的错开位置。按投影线及工装余量刻线进行铺贴,加强层铺贴位置公差为投影位置±2.5mm。"
|
||||
android:textColor="#ff40FF5E"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:lineHeight="20sp"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvTaskHeader" />
|
||||
|
||||
@ -22,6 +22,7 @@ import com.xuqm.base.R
|
||||
import com.xuqm.base.common.FileHelper
|
||||
import com.xuqm.base.common.GlideEngine
|
||||
import com.xuqm.base.common.LogHelper
|
||||
import com.xuqm.base.common.ToolsHelper
|
||||
import com.xuqm.base.databinding.ActivityXWebviewBinding
|
||||
import com.xuqm.base.extensions.loge
|
||||
import com.xuqm.base.extensions.runWithPermission
|
||||
@ -33,6 +34,7 @@ import java.io.File
|
||||
class XWebViewActivity : BaseActivity<ActivityXWebviewBinding>() {
|
||||
private lateinit var title: String
|
||||
private lateinit var url: String
|
||||
private lateinit var content: String
|
||||
private var hasTopBar: Boolean = true
|
||||
|
||||
|
||||
@ -85,6 +87,7 @@ class XWebViewActivity : BaseActivity<ActivityXWebviewBinding>() {
|
||||
intent?.apply {
|
||||
title = getStringExtra("title") ?: ""
|
||||
url = getStringExtra("url") ?: ""
|
||||
content = getStringExtra("content") ?: ""
|
||||
}
|
||||
|
||||
viewModel.title.observe(this) {
|
||||
@ -111,7 +114,11 @@ class XWebViewActivity : BaseActivity<ActivityXWebviewBinding>() {
|
||||
LogHelper.e("lateInitView")
|
||||
LogHelper.e(url)
|
||||
setTitleText(title)
|
||||
if (ToolsHelper.isNull(url)){
|
||||
binding.XWebView.loadData(content, "text/html", "utf-8")
|
||||
}else{
|
||||
binding.XWebView.loadUrl(url)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -19,4 +19,11 @@ object XWebViewHelper {
|
||||
}
|
||||
context.startActivity(intent)
|
||||
}
|
||||
fun startWebNoTopBarForContent(context: Context, content: String) {
|
||||
val intent: Intent = Intent(context, XWebViewActivity::class.java).apply {
|
||||
putExtra("content", content)
|
||||
putExtra("hasTopBar", false)
|
||||
}
|
||||
context.startActivity(intent)
|
||||
}
|
||||
}
|
||||
@ -5,6 +5,7 @@
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:background="@color/app_color_black"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".web.XWebViewActivity">
|
||||
|
||||
@ -20,6 +21,7 @@
|
||||
android:id="@+id/X_webView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:background="@color/app_color_black"
|
||||
app:layout_constraintTop_toBottomOf="@id/X_progressBar"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户