如何在 Final Android App 中的 WebView 上添加 Imageview
Posted
技术标签:
【中文标题】如何在 Final Android App 中的 WebView 上添加 Imageview【英文标题】:How to add Imageview on WebView in Final Android App 【发布时间】:2021-10-31 22:13:48 【问题描述】:当我要制作警报应用程序时,我使用的是我的网站而不是 XML 代码。但是为了去我的网络活动警报活动,我做了一个意图,它可以在我的小图像视图上点击。
下面是我的 XML 代码:
activity_web.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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_
android:layout_
tools:context=".WebActivity">
<WebView
android:id="@+id/webview"
android:layout_
android:layout_
android:layout_centerInParent="true">
</WebView>
<ImageView
android:id="@+id/imageView"
android:layout_
android:layout_
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
tools:srcCompat="@drawable/bell_icon" />
</RelativeLayout>
但主要问题是当我在手机中安装应用程序时,imageview 不可见。
它在我的 android Studio 布局中也可见。
You Check My Android Studio Layout here
现在告诉我应该怎么做才能让它在最终构建的 apk 中可见,这将在我的手机上运行。
【问题讨论】:
您的 WebViewandroid:height
参数是 match_parent
,因此它占据了整个父级高度,您的图像不可见
@gtxtreme parent is RelativeLayout
, WebView
不会在屏幕外推送任何内容
不,我不是说将布局推到外面,我是说这有点盖过了ImageView
@snachmsm
【参考方案1】:
您可以通过使用约束布局来正确设置它,这是一个代码,也许它可以工作!
在此我在顶部设置了一个 ImageView,在 ImageView 底部设置了 webview。
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_
android:layout_>
<ImageView
android:id="@+id/imageView"
android:layout_
android:layout_
android:background="@color/white"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<WebView
android:layout_
android:layout_
app:layout_constraintTop_toBottomOf="@+id/imageView"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
【讨论】:
图像卡在顶部 @YourEnglishLibrary 尝试将android:scaleType
设置为“center”、“centerCrop”或“centerInside”。【参考方案2】:
您使用了错误的属性命名空间,我很惊讶 AS 预览工具正在显示此图像,它不应该。但是您的ImageView
在设备上,它是可点击的(我们是这样设置的),它只有透明的内容(错误地解决了srcCompat
attr,如下所示)。作为测试,您可以添加android:background="#789810"
标签,ImageView
将以可见背景显示(仍然没有图像)
在你的代码中
tools:srcCompat="@drawable/bell_icon"
tools
命名空间指向"some tools",就像使用过的tools:context=".WebActivity"
。要设置特定 View
的自定义属性,您必须使用(自定义)资源命名空间,这些在您的 XML 中使用 xmlns:app="http://schemas.android.com/apk/res-auto"
行声明,因此您应该使用下面的行
app:srcCompat="@drawable/bell_icon"
顺便说一句。如果你使用srcCompat
,你也应该使用AppCompatImageView
。它只适用于通常的ImageView
,因为默认情况下,AS 项目在将项目构建到 APK/bundle 期间将所有ImageView
s 交换为AppCompatImageView
s。此行为可能会被更改或禁用,然后您的ImageView
将保持没有任何图像集。设置图像的完全正确的行是ImageView
的默认src
属性,所以:
android:src="@drawable/bell_icon"
android
命名空间在这里,因为这个属性属于框架(“内置”),而不是一些额外的库和 View
(AppCompatImageView
来自 AppCompat 或 AndroidX 库)
【讨论】:
你能给我完整的代码意味着通过清除所有错误给我上面的完整代码。我无法解决它 我不明白你...我刚刚建议(有丰富的解释)用app:srcCompat
或android:src
替换tools:srcCompat
,你试过吗?您的图像应该在没有任何其他更改的情况下可见,并且发布了有问题的代码
如果我没有在 java 文件中编写 webview 函数,那么它运行良好但我无法显示我的网页
很遗憾我又听不懂你了...您的图像可见性有问题,我已经为您提供了解释和解决方案,WebView
本身不涉及此主题.. .
是的,你给了我解决方案,但它不起作用以上是关于如何在 Final Android App 中的 WebView 上添加 Imageview的主要内容,如果未能解决你的问题,请参考以下文章