Android EditText框和光标/文字移动

时间:2016-03-01 16:19:12

标签: android android-edittext

我有一个Android应用程序,它有3个 EditText 小部件。当我输入数值时,一切都很好。当我单击一个按钮时,光标和/或文本就像图像中所示的那样位于线下方。我可以上下单击并拖动文本/光标(就像是日期选择器或其他东西)。这确实发生在所有3个字段上。这发生在设备和模拟器中。

我不记得改变那些可能导致这种情况的小部件上的任何属性,因此,检查所有属性并没有说明导致它的原因。即使没有任何值,例如折扣字段,我也可以移动提示文本,就像我可以移动用户输入的值一样。我想也许它可以用onClickListenener做我正在做的事情,但我不会改变任何东西。我可以从溢出菜单中选择一个选项,它也会在那里发生。关于为什么会发生这种情况的任何想法?

该字段的XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_calc">

 <TableLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
     android:id="@+id/tableLayout">

    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="match_parent">

        <EditText
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:inputType="numberDecimal"
            android:ems="10"
            android:id="@+id/etxtPrice"
            android:layout_column="1"
            android:textAlignment="center"
            android:hint="Price"/>

        <EditText
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:inputType="numberDecimal"
            android:ems="10"
            android:id="@+id/etxtDiscount"
            android:layout_column="2"
            android:textAlignment="center"
            android:hint="Discount" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="%"
            android:id="@+id/textView"
            android:layout_column="3"
            android:textSize="20dp" />

        <EditText
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:inputType="numberDecimal"
            android:ems="10"
            android:id="@+id/etxtTax"
            android:layout_column="4"
            android:textAlignment="center"
            android:hint="Tax" />

    </TableRow>

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

由于edittext的高度为wrap_content ..编辑文本可以容纳任意数量的文本行。使用android:singleLine =&#34; true&#34;属性将其强制为单行。