应用程序启动时删除文本框的初始焦点?

时间:2011-01-14 23:28:53

标签: android eclipse android-layout

我有一个搜索文本框,一个列表视图和几个按钮,当应用程序启动时,文本框具有焦点,因此它显示键盘,阻挡了我的一半屏幕。 我该如何预防呢?

我已经尝试将焦点放在按钮上(并将按钮设置为focusable = true),但这不起作用。只有有效的东西才能集中在文本框上,但显然你在点击时不再使用键盘了。

3 个答案:

答案 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时,您的布局将获得焦点。