我有一个搜索文本框,一个列表视图和几个按钮,当应用程序启动时,文本框具有焦点,因此它显示键盘,阻挡了我的一半屏幕。 我该如何预防呢?
我已经尝试将焦点放在按钮上(并将按钮设置为focusable = true),但这不起作用。只有有效的东西才能集中在文本框上,但显然你在点击时不再使用键盘了。
答案 0 :(得分:4)
您可以在EditText之前将元素的“可聚焦”和“可聚焦在触摸模式”设置为true。或者好的方法是使用activity属性“Window Soft Input Mode”来处理它。
答案 1 :(得分:3)
这个问题最简单的解决方法是
在父布局中设置下一个属性:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true" >
现在,当活动开始时,此布局会获得默认焦点。所以textfield不会犯错。
答案 2 :(得分:2)
要快速修复,您可以使用
进行一个可以使用其中一个封装视图(例如主布局)android:focusableInTouchMode="true"
当您的活动开始而非您的edittexts或textview时,您的布局将获得焦点。