android - 如何制作使用窗口管理器添加的通过视图
问题描述
我已经膨胀了一个视图,其中包含Constraint Layout
一个父布局和一个Frame Layout
内部布局(其尺寸将在运行时调整为特定的高度和宽度)。
我需要使用窗口管理器将此视图添加到当前屏幕,并且我也成功了,但问题是它不允许单击它下面的视图。
这是我的框架布局的样子
<FrameLayout
android:id="@+id/input_box"
android:layout_width="match_parent"
android:layout_height="50dp"
android:clickable="false"
android:focusable="false"
android:background="@drawable/bg_input_pointer"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
我还尝试使其背景颜色透明,但它下面的视图仍然不可点击,直到它上面的视图从屏幕上删除。在 Flags的帮助下也许可以做到这一点WindowManager.LayoutParams
,但我找不到适合我需要的。
解决方案
确保您view.bringToFront()
在下面的视图中使用框架布局。这是因为框架布局可能会拉伸并覆盖下面的视图,但不会,尽管它可能不会将其向下推。
//NB视图指的是下面的视图
推荐阅读
- angular - “HTMLElement”类型的参数不能分配给“CanvasImageSource”类型的参数
- node.js - npm install 权限被拒绝 /.npm/_cacache/
- sql - How to create an empty array of struct in hive?
- android - 将 x509 证书解析为 android 时出现 keyfactory 错误
- java - java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:69
- sql-server - 对一个列值应用 concat 函数以从另一个表中获取数据
- html-email - 如何修复适用于所有人且正确的电子邮件模板背景
- arrays - 将字典数组转换为字典
- android - 如何加密和解密 pt 视频播放任何视频播放器?
- apache-kafka - kafka 控制台消费者没有收到来自控制台生产者的消息