文本输入在模拟器中疯狂偏离中心,这正常吗?

Posted

技术标签:

【中文标题】文本输入在模拟器中疯狂偏离中心,这正常吗?【英文标题】:Text input wildly off center in emulator, is it normal? 【发布时间】:2015-09-25 08:19:37 【问题描述】:

在运行 API 19 的 android 模拟器中,出于某种原因,放入 EditText 控件的输入奇怪地向下和向左偏离中心,在某些情况下几乎到了不可见的程度。我想知道这是否只是一个通常被忽略的常见错误,或者是否有人可以提出解决此问题的原因和/或解决方案,因为我没有运行此版本的 android 的任何物理设备,并且无法在模拟器。

如果相关,这里是布局的 xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:layout_
    android:layout_
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.mydevelopername.myapp.thisactivityname"
    android:background="#005b96">

    <TableLayout
        android:layout_
        android:layout_
        android:id="@+id/tableLayout5">

        <TableRow
            android:layout_
            android:layout_
            android:layout_marginBottom="10dp">

            <TextView
                android:layout_
                android:layout_
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:text="@string/lbl_volume_ivdrip"
                android:id="@+id/lbl_volume"
                android:textColor="#b3cde0"
                android:textStyle="bold" />

            <EditText
                android:layout_
                android:layout_
                android:inputType="number"
                android:ems="10"
                android:id="@+id/txt_volume"
                android:background="#6497b1"
                android:layout_marginLeft="4dp"
                android:layout_marginRight="4dp" />

            <Spinner
                android:layout_
                android:layout_
                android:id="@+id/spinner_volume"
                android:background="#6497b1" />
        </TableRow>

        <TableRow
            android:layout_
            android:layout_
            android:layout_marginBottom="10dp">

            <TextView
                android:layout_
                android:layout_
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:text="@string/lbl_drip_set"
                android:id="@+id/lbl_drip_set"
                android:textStyle="bold"
                android:textColor="#b3cde0" />

            <Spinner
                android:layout_
                android:layout_
                android:id="@+id/spinner_drip_set"
                android:layout_span="2"
                android:background="#6497b1" />

        </TableRow>

        <TableRow
            android:layout_
            android:layout_
            android:layout_marginBottom="20dp">

            <TextView
                android:layout_
                android:layout_
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:text="@string/lbl_infuse_time"
                android:id="@+id/lbl_infuse_time"
                android:textColor="#b3cde0"
                android:textStyle="bold" />

            <EditText
                android:layout_
                android:layout_
                android:inputType="number"
                android:ems="10"
                android:id="@+id/txt_infuse_time"
                android:background="#6497b1"
                android:layout_marginLeft="4dp"
                android:layout_marginRight="4dp" />

            <Spinner
                android:layout_
                android:layout_
                android:id="@+id/spinner_infuse_time"
                android:background="#6497b1" />
        </TableRow>
    </TableLayout>

    <TextView
        android:layout_
        android:layout_
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Large Text"
        android:id="@+id/lbl_ivdrip_result"
        android:layout_below="@+id/tableLayout5"
        android:layout_centerHorizontal="true"
        android:textStyle="bold"
        android:textColor="#b3cde0"
        android:layout_marginBottom="10dp" />

    <Button
        android:layout_
        android:layout_
        android:text="New Button"
        android:id="@+id/button2"
        android:background="#b3cde0"
        android:textColor="#011f4b"
        android:textStyle="bold"
        android:layout_below="@+id/lbl_ivdrip_result"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:onClick="ivdrip_calc" />

    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_
        android:layout_
        ads:adSize="BANNER"
        ads:adUnitId="xxxxxxxxxxxxxxxxxxxxxxxx"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true">
    </com.google.android.gms.ads.AdView>

    </RelativeLayout>

我正在尝试开始进行 Android 开发,但不熟悉该平台中可能存在的与这些模拟器问题相关的一些共性。所以,如果这是一个愚蠢的问题,请接受我的道歉。谢谢!

【问题讨论】:

对于每个 EditText,使用属性android:gravity="start" 将文本定位在开头。 太棒了!谢谢!效果很好。 我已将其添加为答案。如果这解决了您的问题,您可以接受它,以便其他人可以看到。编码愉快! 太棒了!刚刚做了..谢谢你,伙计!! 【参考方案1】:

要定位您的EditText 输入文本,请使用属性android:gravity="X",其中X 是您希望其定位的关键字。在您的情况下,使用start 将其放在开头。

【讨论】:

以上是关于文本输入在模拟器中疯狂偏离中心,这正常吗?的主要内容,如果未能解决你的问题,请参考以下文章

模拟器 iOS 8 Xcode 6.1 中缺少键盘

Symbian 模拟键盘输入

如何在 ASCII 或普通文本中模拟回车(HEX 0A)?

在掌上电脑上绘图时,触控笔指向无法正常工作

文本字段在 iOS 模拟器上不显示键盘

我可以在 JavaScript 中用鼠标模拟文本选择吗?