【问题标题】:Android UI designing with edit text带有编辑文本的 Android UI 设计
【发布时间】:2014-03-14 09:11:05
【问题描述】:

我在这里有一个特殊的问题,我有一个具有相对布局的活动,并且它具有编辑文本作为其子视图。它还将线性布局作为子布局,并且该线性布局包含一个按钮和一个文本视图。我知道这有点令人困惑,但我将提供快照以便清晰理解,甚至是我的活动 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>

【问题讨论】:

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


    【解决方案1】:

    在您的清单文件中:在您的活动中放入以下行

    android:windowSoftInputMode="adjustPan"
    

    【讨论】:

    • 我肯定会尝试一下,但如果你解释一下它的实际作用,这将是一个很大的帮助。
    • 这意味着,每当您的软键盘出现在活动中...布局将永远不会受到adjustPane的影响
    【解决方案2】:

    尝试将此行添加到您的 LinearLayout

    android:layout_below="@+id/resultEditText"
    

    【讨论】:

    • 我知道这会解决这个问题,但我不觉得这样做是正确的,因为我不希望我的按钮紧挨在编辑文本下方。
    【解决方案3】:

    我相信会发生这种情况,因为尽管您的按钮处于线性布局中,但线性布局是相对布局的子布局。在编辑文本后结束您的相对布局

    【讨论】:

      猜你喜欢
      • 2017-11-21
      • 2013-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-25
      • 1970-01-01
      相关资源
      最近更新 更多