![]() |
1
559
以下代码片段仅隐藏键盘:
您可以将其放在实用程序类中,或者如果在活动中定义它,请避免使用活动参数,或者调用
打电话来
希望有帮助。
如果使用多个活动,请将公共id定义为
然后扩展一个类
|
![]() |
2
273
您可以通过执行以下步骤来实现此目的:
正如下面的一条评论所指出的,如果父视图是滚动视图,这可能不起作用。在这种情况下,可点击和可聚焦的InTouchMode可以直接添加到ScrollView下的视图中。 |
![]() |
3
57
这是我的解决办法。添加
并将以下代码放入onTouch方法中。
这样就不必遍历所有视图。 |
![]() |
4
44
只是在活动中重写下面的代码
|
![]() |
5
39
这里通行证
|
![]() |
6
16
好吧,我设法解决了这个问题,我在我的活动中重写了dispatchTouchEvent,在这里我使用下面的代码来隐藏键盘。
编辑:
这并不完美,拖动事件时间仅基于启发式,因此有时在执行长clics时不会隐藏,我还创建了一个方法来获取每个视图的所有EditText;否则,单击其他EditText时键盘将隐藏并显示。 不过,更清洁、更短的解决方案还是受欢迎的 |
![]() |
7
14
例如:
更新
:您也可以覆盖
|
![]() |
8
13
我测试过了,效果很好! |
![]() |
9
11
重写任何活动(或扩展活动类)中的公共布尔dispatchTouchEvent(MotionEvent事件)
|
![]() |
10
11
更多 科特林 &安培; 材料设计 使用方式 TextInputEditText EditTextView )... 1.通过添加以下属性,使父视图(活动/片段的内容视图)可单击且可聚焦
2.为所有视图创建扩展名(例如在View extension.kt文件中):
4.在XML中调用全新的自定义视图:
这就是全部。 无需修改控制器 |
![]() |
11
9
我修改了安德烈·路易斯的解决方案,我得到了这个:
但是我没有为每个视图注册一个OnTouchListener,这会带来很差的性能,而是只为根视图注册了OnTouchListener。由于事件在被使用之前一直处于气泡状态(EditText是默认使用它的视图之一),如果它到达根视图,那是因为它没有被使用,所以我关闭了软键盘。
|
![]() |
12
8
我的所有活动都需要这种行为,所以我创建了一个类 客户活动 并“勾住”了 调度触摸事件
附带说明:另外,我将这些属性分配给根视图,这样就可以清除对每个输入字段的焦点,并防止输入字段在活动启动时获得焦点(使内容视图成为“焦点捕捉器”):
|
![]() |
13
6
所以,我做了一个比较简单的解决方案:
从一个
|
![]() |
14
6
我知道我没有影响力,但请认真对待我的回答。 问题: 解决方案: 蝴蝶刀。
更具可读性的解决方案:
说明: 例子:
Butterknife文档链接: http://jakewharton.github.io/butterknife/ 插头: 注: 同样的结果也可以在不使用外部库Butterknife的情况下实现。只需将OnClickListener设置为父布局,如上所述。 |
![]() |
15
4
这里的想法是处理活动中的向下和向上操作
如果当前聚焦视图与原始聚焦视图不同
和
否则我们就关闭它。 综上所述,它的工作原理如下:
|
![]() |
16
4
它太简单了,只需通过以下代码将您最近的布局设置为可单击的焦点:
然后为该布局编写一个方法和一个OnClickListner,这样当最上面的布局被触碰时,它将调用一个方法,在该方法中您将编写代码来关闭键盘。以下是两者的代码;
从listner调用的方法:-
|
![]() |
17
4
对于这个简单的要求,我觉得公认的答案有点复杂。这是对我有效的,没有任何问题。
|
![]() |
18
3
|
![]() |
19
3
显示/隐藏软键盘的方法
我希望他们有用 |
![]() |
20
3
|
![]() |
21
2
我已经改进了这个方法,将下面的代码放在一些UI实用程序类中(最好,不一定),这样就可以从所有活动或片段类中访问它来实现它的目的。
然后举例来说,你需要从活动中调用它,如下所示调用它;
这将为我们提供当前组的根视图(您不能在根视图上设置id)。 干杯:) |
![]() |
22
2
尝试将stateHidden设置为您的活动
http://developer.android.com/reference/android/R.attr.html#windowSoftInputMode
|
![]() |
23
2
活动
屏蔽
|
![]() |
24
2
只需在类中添加此代码 @过边
|
![]() |
25
1
在一个单独的Utils类中是。。。
|
![]() |
26
1
这可能很旧,但我是通过一个自定义类来实现的
****注意,只有主容器应该实现这个类(用于优化)**** 并按如下方式实施:
---竖起大拇指如果它能帮助你。。。 ---干杯拉尔夫--- |
![]() |
27
1
这是fje答案的一个稍加修改的版本,它基本上工作得很好。 此版本使用ACTION_DOWN,因此执行滚动操作也会关闭键盘。
|
![]() |
28
1
我是这样做的:
隐藏键盘代码 :
多恩 |
![]() |
29
1
要解决这个问题,首先要使用Edittext的setOnFocusChangeListener
现在,当用户单击外部时,首先将调用dispatchTouchEvent,然后将清除编辑文本中的焦点。现在,将调用OnFocusChangeListener,焦点已更改。现在,您可以做任何您想做的事情,希望它起作用 |
![]() |
30
1
|
![]() |
Murilo · Jetpack编写导航栏项目图标 6 月前 |
![]() |
KolaYAndr · 活动RESULT_OK似乎从未发生过 7 月前 |
![]() |
psycho_pat · Android应用程序中的权限 7 月前 |
|
FarazFiroz · 如何将argb转换为描述性文本颜色 8 月前 |
![]() |
Daniel · Unity Android游戏支持的设备数量太少 8 月前 |