7

我有一个布局,顶部有一个图形,EditText中间有一个图形,下方有一个按钮,如下所示:

示例布局

当用户输入时EditText,我想平移布局以使“Go”按钮仍然可见,即使这意味着将图像从顶部剪掉,如下所示:

想要的布局

我在清单中知道windowSoftInputMode="adjustPan",但这不起作用,因为它只能平移到足以让 EditText 可见。有没有办法确保它平移直到按钮也可见?


对于 K_Anas 的评论,这是我的布局。与第一个屏幕截图相比,它删除了所有额外的边距和间距,以消除任何其他问题来源。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <View
        android:layout_width="300dp"
        android:layout_height="150dp"
        android:layout_alignParentTop="true"
        android:background="#999"/>

    <EditText
        android:layout_width="280dp"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:hint="Sample..."/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Go"/>

</RelativeLayout>
4

3 回答 3

2

与 Android 开发人员聚会交谈,似乎没有一种简单的方法可以解决这个问题。共识似乎是重新设计布局,而不是使用 API 来解决问题。

于 2012-06-06T13:37:05.267 回答
1

你试过了吗:

android:windowSoftInputMode="adjustResize"

在清单中的活动标签中

在 android 开发者博客上查看这些文档

我尝试了您的布局:android:windowSoftInputMode="stateVisible|adjustResize"

并给我这些结果:

在此处输入图像描述 在此处输入图像描述

于 2012-06-05T17:18:33.527 回答
0

我确定这不是最好的方法,但是您不能只更改按钮的布局属性(添加/更改边距)并在单击编辑文本时重绘吗?使用 onClickListener 并可能使您的按钮无效。

于 2012-06-05T17:17:14.690 回答