Android Studio - 奇怪的xml故障,其中edittext的光标开始于中途

时间:2015-05-13 11:44:04

标签: android xml android-layout android-studio

我遇到了一些奇怪的行为,无法弄清问题是什么。请注意下面的xml代码和屏幕截图。

这就是我在Android Studio中的布局:

enter image description here

这就是我手机上的布局:

enter image description here

现在,EditText应该覆盖上部屏幕的60%,并且确实如此,但是光标从中途开始,并且无法访问该标记上方的EditText的任何区域。

以下是此文件的xml代码:

<LinearLayout 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"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context="com.example.redacted.redacted.InputActivity">

<EditText
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.6"
    android:inputType="textMultiLine"
    android:id="@+id/editText" />

<RelativeLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.4" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/btnCancel"
        android:onClick="onBtnInputCancel"
        android:id="@+id/button4"
        android:layout_gravity="end"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/btnContinue"
        android:onClick="onBtnInputContinue"
        android:id="@+id/button5"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

</RelativeLayout>
</LinearLayout>

我尝试过混合各种值并添加/删除元素,但问题仍然存在。我的手机是三星Galaxy S5,但这些问题肯定不会出现在任何设备上吗?

提前致谢!

1 个答案:

答案 0 :(得分:3)

您的布局正确无误,您可以通过将background color设置为EditText来检查 但默认情况下,光标显示在EditText

的中间

android:gravity="top"添加到EditText

<EditText
    ..
    ..
    android:gravity="top"
    ..
    .. />