使用编辑文本设计Android UI

时间:2014-03-14 09:11:05

标签: android android-layout android-edittext android-ui android-keypad

我有一个特殊的问题,我有一个相对布局的活动,它有编辑文本作为其子视图。它还作为子布局线性布局,线性布局包含按钮和文本视图。我知道这有点令人困惑,但我会提供快照以便清楚地理解甚至我的活动XML。

我在这里遇到的问题是,当我点击编辑文本输入一些文本时,Android键盘在屏幕底部可见,向上滑动我的编辑文本,然后我的按钮移动我的编辑文本。当我关闭键盘时,一切正常。我对于为什么会发生这种情况一无所知,并且可能不知道编辑文本的基础知识。这是我的XML文件......

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    tools:context=".ResultViewActivity"
    android:background="@drawable/background" >

<Button
    android:id="@+id/homeButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:background="@drawable/homebtnselectr" />

<EditText
    android:id="@+id/resultEditText"
    android:layout_width="fill_parent"
    android:layout_height="200dip"
    android:layout_alignRight="@+id/homeButton"
    android:layout_centerVertical="true"
    android:background="@drawable/curve_corners"
    android:ems="10"
    android:gravity="top"
    android:inputType="textMultiLine"
    android:overScrollMode="always"
    android:paddingBottom="6dp"
    android:paddingLeft="12dp"
    android:paddingRight="12dp"
    android:paddingTop="6dp"
    android:scrollbarStyle="insideInset"
    android:scrollbars="vertical"
    android:text="abcajfklafladfk" 
   />


    <LinearLayout 
        android:id="@+id/get_news_lin_layout"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:orientation="vertical"
        android:layout_alignLeft="@+id/resultEditText"
        android:layout_alignParentBottom="true"
    >

    <Button
        android:id="@+id/getNews"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/getnews_btn_selectr" 
    />
    <TextView
        android:id="@+id/get_news"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Get News"
        android:textSize="20dp"
        android:textStyle="bold" />

    </LinearLayout>
</RelativeLayout>

this is normal activity without keyboard

this is same activity when tapped on edit text and keyboard appears

3 个答案:

答案 0 :(得分:2)

在您的清单文件中:在您的活动中添加以下内容

android:windowSoftInputMode="adjustPan"

答案 1 :(得分:1)

尝试将此行添加到LinearLayout

android:layout_below="@+id/resultEditText"

答案 2 :(得分:0)

我相信这是因为虽然您的按钮处于线性布局中,但线性布局是相对布局的子级。在edittext

之后结束您的相对布局