Amo*_*tir 6 android android-layout android-view
我的问题很简单:如何禁用Android中的View上的任何事件?(包括删除它的可聚焦性,就像我只是希望它在视觉上存在但在其他一切上是不存在的)并且它是否在整个视图树上工作?(就像我在root上禁用事件一样,所有事件都将为其子节点禁用?).
现在,在你说什么之前我已经尝试了以下所有方法:
而这些方法似乎都不重要.
我已经直接尝试了它们WebView
,以及所有内容的父布局,但我仍然可以与它进行交互.
任何的想法?
谢谢!
编辑#1
在视图顶部添加需要禁用的视图的解决方案不起作用.实际上,仍然可以点击内部视图,我尝试了一个简单的例子:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ff0000">
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Click Me!"
/>
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00000000"
/>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
在这里仍然可以点击button
.
编辑#2
我想这样做的原因与我几周前提出的以下问题有关.
我所拥有的是一个ListView
导航栏,它位于一个View
包含我的应用内容的下方.这个实现的问题是,当我尝试滚动浏览ListView
时,在它上面的图层中有一个可聚焦的视图,好的是ListView
不滚动,而是它是焦点的顶视图(当有的时候就是这种情况) a
Webview
或EditText
等等).
所以在其中一个答案中提到的是,我可以WebView
通过覆盖禁用任何点击事件,setOnTouchListener
但视图仍然集中在一起,我认为这就是为什么我的导航栏仍然存在同样的问题.
只需在视图顶部放置视图即可.您可以通过设置view.visibility = gone/visible来关闭它.
<FrameLayout>
<WebView/>
<FrameLayout This view will be on top/>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
编辑:只是简单地链接到这个链接:https://stackoverflow.com/a/3856199/969325 基本上禁用webview的所有触摸事件.试过吗?
编辑2 reedit:尝试为列表视图下方的顶视图设置可见性.
归档时间: |
|
查看次数: |
5227 次 |
最近记录: |