如何在不可见的文本字段中输入文本

时间:2014-09-21 08:10:50

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

在我的Android中,我为用户输入密码时创建了自己的自定义图形。

但是,当用户点击密码图形时,我需要显示数字键盘,因此我在图形上放置EditText并使其不可见。我希望当用户点击它时会弹出键盘,但它并没有。此外,当用户输入时,我希望将此文本无形地添加到EditText,然后在完成时提交。

所以我的问题是,我怎样才能创建一个看不见的隐形EditText。也就是说,它在点击时调出键盘并输入?

例如,这是我的XML文件:

<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:weightSum="1">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="@string/enter_passcode"
        android:id="@+id/textView"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="numberPassword"
        android:ems="10"
        android:background="@null"
        android:id="@+id/editText"
        android:layout_gravity="center_horizontal"
        android:layout_weight="0.05" />

    <ImageView
        android:layout_width="214dp"
        android:layout_height="wrap_content"
        android:src="@drawable/passcode0"
        android:id="@+id/passcodeImageView"
        android:layout_gravity="center_horizontal"
        android:baselineAlignBottom="false"
        android:clickable="true"
        android:onClick="onPasscodeDigitPressed"
        android:layout_marginTop="20dp" />

</LinearLayout>

3 个答案:

答案 0 :(得分:3)

在xml

中尝试使用editText的这三种可能性之一
android:background="@android:color/transparent"
android:textcolor="@android:color/transparent"
android:cursorVisible="false"

android:alpha="0"

android:visibility="invisible"

答案 1 :(得分:0)

  <EditText
        android:id="@+id/youedittext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:cursorVisible="false"
        android:textcolor="@android:color/transparent" />

答案 2 :(得分:0)

所以,你要么选择:android:textcolor =“@ android:color / transparent”,或者你可以做其他事情:

    <EditText
    android:id="@+id/youedittext"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@android:color/white"
    android:cursorVisible="false"
    android:textColor="@android:color/white" />

这会使你的文字像你的背景,颜色明智,因此,你会得到“看不见的”文字。