我正在开发一个具有通用文本输入表单的应用程序。所以 在我的摩托车机器人上进行测试时,我遇到了一个奇怪的问题 - 当我 触摸输入字段(位于屏幕的下端) - 打开 屏幕键盘弹出并隐藏输入字段。所以用户必须这样做 盲目进入。这是一个sdk问题,或者它特别适用于机器人 或者我做错了什么???
我在G1上测试了这个相同的形式,Hero ..我看不出任何问题。 请帮忙......
布局xml文件 - `
<TextView android:id="@+id/textmsg" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="Some text"
android:layout_marginTop="10px" android:textColor="#ffffff"
android:textSize="15px" android:layout_marginLeft="10px"
android:layout_marginRight="10px" />
<EditText android:id="@+id/textstreet1" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_marginTop="15px"
android:layout_below="@+id/textmsg" android:textColor="#000000"
android:textSize="20px" android:gravity="center_vertical"
android:layout_marginLeft="10px" android:paddingLeft="5px"
android:layout_marginRight="10px" />
<EditText android:id="@+id/textstreet2" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_marginTop="2px"
android:layout_below="@+id/textstreet1" android:textColor="#000000"
android:textSize="20px" android:gravity="center_vertical"
android:layout_marginLeft="10px" android:paddingLeft="5px"
android:layout_marginRight="10px" />
<EditText android:id="@+id/textcity" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_marginTop="2px"
android:layout_below="@+id/textstreet2" android:textColor="#000000"
android:textSize="20px" android:gravity="center_vertical"
android:layout_marginLeft="10px" android:paddingLeft="5px"
android:layout_marginRight="10px" />
<EditText android:id="@+id/textstate" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_marginTop="2px"
android:layout_below="@+id/textcity" android:textColor="#000000"
android:textSize="20px" android:gravity="center_vertical"
android:layout_marginLeft="10px" android:paddingLeft="5px"
android:layout_marginRight="10px" />
<EditText android:id="@+id/textzip" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_marginTop="2px"
android:layout_below="@+id/textstate" android:textColor="#000000"
android:textSize="20px" android:gravity="center_vertical"
android:layout_marginLeft="10px" android:paddingLeft="5px"
android:layout_marginRight="10px" />
<EditText android:id="@+id/textcrossstreet"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_marginTop="2px" android:layout_below="@+id/textzip"
android:textColor="#000000" android:textSize="20px" android:gravity="center_vertical"
android:layout_marginLeft="10px" android:paddingLeft="5px"
android:layout_marginRight="10px" />
<EditText android:id="@+id/textdi" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_marginTop="2px"
android:layout_below="@+id/textcrossstreet" android:textColor="#000000"
android:textSize="20px" android:gravity="center_vertical"
android:layout_marginLeft="10px" android:paddingLeft="5px"
android:layout_marginRight="10px" />
</RelativeLayout>
`
答案 0 :(得分:1)
我只是想说我有完全相同的问题而且“为我”的解决方案是由synic提供的。我不得不用以下内容更新我的清单:
<activity android:name=".MyActName" android:softInputMode="adjustResize" ... />
在此之前,我有一个EditText字段固定在底部,但是当输入焦点时,键盘将启动并覆盖我的字段。此外,可滚动的可用视图不允许我查看可滚动视图的绝对TOP或绝对BOTTOM。看起来好像视图没有正确调整大小。
感谢synic
答案 1 :(得分:0)
我想你想要:https://developer.android.com/guide/topics/manifest/activity-element.html#wsoft
您可以指定活动在清单中使用的softinput方法。
像<activity android:softInputMode="adjustPan" android:name... />
之类的东西会让Android尝试将当前关注的输入字段平移到视图中,或者您可以使用adjustResize
让它尝试调整整个布局以适应键盘(这需要您的布局有ListView
或ScrollView
,可以调整大小。
答案 2 :(得分:0)
尝试在ScrollView中包含RelativeLayout。然后,您只需向上和向下滚动到要编辑的字段即可。我现在有一个问题,我正在寻找答案,顶部项目是隐藏在屏幕标题下的一半,但我不认为这是我建议的问题。
您获得的行为是必要的。可能有没有键盘的手机。我注意到如果你去景观,键盘就会消失。猜猜他们认为在横向模式下,物理键盘会在那里。
我是这个环境的新手,所以也许是更好的方法,但这对我有用。
答案 3 :(得分:0)
您是否尝试过将以下内容添加到@ + id / textmsg
android:layout_gravity="top"
或 尝试使用linearlayout而不是relativelayout。由于所有项目都是垂直堆叠,因此您似乎不需要相对布局。