标签: android-textinputlayout

Android - 减少EditText浮动标签填充/边距?

是否可以将这些浮动标签(电子邮件/密码)放在包装盒内.基本上减少了提示和实际输入之间的空间.

在此输入图像描述

我尝试填充顶部/底部.用于editText的边距顶部/底部.但他们都没有给出我想要的结果.


 <android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:id="@+id/emailWrapper"
    app:hintTextAppearance="@style/floatingLabel">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="54dp"
        android:paddingLeft="17dp"
        android:paddingRight="17dp"
        android:id="@+id/txtEmail"
        android:singleLine="true"
        android:inputType="textEmailAddress"
        android:hint="@string/emailPlaceholder"
        android:background="@drawable/btn_empty_stroke" />

</android.support.design.widget.TextInputLayout>

<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:hintTextAppearance="@style/floatingLabel"
    android:id="@+id/passwordWrapper"
    android:layout_below="@+id/emailWrapper">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="54dp"
        android:paddingLeft="17dp"
        android:paddingRight="17dp"
        android:singleLine="true"
        android:inputType="textPassword"
        android:id="@+id/txtPassword"
        android:paddingTop="0dp"
        android:text="HELLO"
        android:hint="@string/passwordPlaceholder"
        android:background="@drawable/btn_empty_stroke" />

</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

android android-layout android-edittext android-textinputlayout

7
推荐指数
1
解决办法
1万
查看次数

如何使TextInputLayout中的错误消息出现在中心

目前它看起来像附加此布局:

<android.support.design.widget.TextInputLayout
    android:id="@+id/layoutCurrentPW"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    app:errorEnabled="true">
Run Code Online (Sandbox Code Playgroud)

如何设置错误信息"密码必须至少为8个字符"到中心引力?
我尝试使用android:gravity ="center",但这不起作用.

在此输入图像描述

编辑
包含EditText的布局:

<android.support.design.widget.TextInputLayout
    android:id="@+id/layoutCurrentPW"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    app:errorEnabled="true">

        <EditText
            android:id="@+id/editTextCurrentPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_marginLeft="50dp"
            android:layout_marginRight="50dp"
            android:gravity="center"
            android:hint="@string/current_password"
            android:inputType="textPassword"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/black" />
    </android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

android android-textinputlayout android-gravity

7
推荐指数
1
解决办法
5043
查看次数

反应原生.当页面在计时器滴答时重新渲染时,如何将焦点保持在文本输入上

我在clojurescript中使用反应原生物在android上编写一个计时器应用程序(使用试剂希望不重要).

我有一个TextInput地方,我接受用户的文字来命名计时器.每当我的计时器打勾,整个Android应用程序重新渲染,我就会失去焦点TextInput.我目前正在使用onChangeText保存我正在键入的字符,有没有办法在计时器滴答作响时保持对文本输入的关注?

谢谢.

android react-native android-textinputlayout cljsrn

7
推荐指数
1
解决办法
1713
查看次数

TextInputLayout EditText nextFocusRight不能正常工作

我有两个TextInputLayout元素并排:名字和姓氏.在他们下面我有另一个全宽度TextInputLayout元素:电子邮件.

我正在尝试覆盖键盘上的下一个按钮,这样当在firstname输入中单击Next时,它应该转到lastname输入并从那里转到电子邮件等.

现在的问题是,当我在键盘上按下Next时,它不会转到lastname字段,而是转到它下面的电子邮件.

这是我的xml文件的一部分,我有这三个输入:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_gravity="center_horizontal"
    android:baselineAligned="false">

    <android.support.design.widget.TextInputLayout
        android:id="@+id/input_layout_firstname"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1">

        <EditText
            android:id="@+id/register_input_firstname"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/hint_firstname"
            android:inputType="textCapSentences"
            android:nextFocusForward="@+id/register_input_lastname"
            android:nextFocusRight="@+id/register_input_lastname" />

    </android.support.design.widget.TextInputLayout>

    <android.support.design.widget.TextInputLayout
        android:id="@+id/input_layout_lastname"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1">

        <EditText
            android:id="@+id/register_input_lastname"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/hint_lastname"
            android:inputType="textCapSentences"
            android:nextFocusDown="@+id/register_input_email" />

    </android.support.design.widget.TextInputLayout>

</LinearLayout>

<android.support.design.widget.TextInputLayout
    android:id="@+id/input_layout_email"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <EditText
        android:id="@+id/register_input_email"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/hint_email"
        android:inputType="textEmailAddress" />

</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

我也试过瞄准TextInputLayout而不是EditText但没有效果.

下一个焦点甚至是可能的,TextInputLayout或者它是一个错误还是我只是做了一些非常错误的事情?

android android-edittext android-textinputlayout

7
推荐指数
3
解决办法
5713
查看次数

清除后TextInputLayout未显示错误消息

我正在使用com.android.support:design:23.3.0中的TextInputLayout

当我第一次应用错误时,它显示正确.

mInputPassword.setError(getString(R.string.error_invalid_password));
mInputEmail.setError(getString(R.string.error_field_required));
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在下次登录尝试时,我清除错误.

mInputEmail.setError(null);
mInputPassword.setError(null);
Run Code Online (Sandbox Code Playgroud)

然后我运行验证并使用与上面相同的代码再次设置错误,但这次应用了红线但缺少错误文本. 在此输入图像描述

任何人都有任何关于为什么会发生这种情况或遇到类似情况的想法?

我在这里看到类似的东西,但它是旧版本的设计库,不知道它是否仍然是我正在使用的版本中的问题,

user-interface android android-textinputlayout

7
推荐指数
1
解决办法
4001
查看次数

更新Google支持库后,TextInputLayout提示不会浮动

我最近更新了我的支持库,com.android.support:appcompat-v7:25.1.0之后如果我将文本添加到EditTextvia xml文件中,则TextInputLayout提示不会浮动.

我也看过这个问题,但它对我不起作用.

这是我的xml代码:

<android.support.design.widget.TextInputLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginBottom="16dp"
        android:layout_marginEnd="16dp"
        app:layout_constraintRight_toRightOf="parent"
        android:layout_marginRight="16dp"
        app:layout_constraintVertical_bias="0.0"
        android:id="@+id/til1"
        android:layout_marginStart="16dp"
        app:layout_constraintLeft_toLeftOf="parent"
        android:layout_marginLeft="16dp"
        app:layout_constraintHorizontal_bias="0.33">

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="From"
            android:inputType="time"
            android:text="09:00 AM"
            android:id="@+id/from_mon"
            android:textSize="14sp" />
    </android.support.design.widget.TextInputLayout> 
Run Code Online (Sandbox Code Playgroud)

这是我的gradle依赖项:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.1.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4'
    compile 'uk.co.chrisjenx:calligraphy:2.2.0'
    compile 'com.android.support:design:25.1.0'
    compile 'com.android.support:support-v4:25.1.0'
    compile 'com.android.support:recyclerview-v7:25.1.0'
    compile 'com.android.support:cardview-v7:25.1.0'
    compile 'com.android.volley:volley:1.0.0'
    compile 'com.github.bhargavms:DotLoader:1.0.1'
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'de.hdodenhof:circleimageview:2.1.0'
    compile 'com.labo.kaji:fragmentanimations:0.1.1'
    compile …
Run Code Online (Sandbox Code Playgroud)

android android-support-library android-textinputlayout

7
推荐指数
2
解决办法
3022
查看次数

无法在TextInputLayout上膨胀ColorStateList

我正在尝试使用TextInputLayouts创建一个登录屏幕.但我不能让错误显示出来.我在LogCat上收到下一个错误,但没有出现错误.

E/AppCompatResources: Failed to inflate ColorStateList, leaving it to the framework
java.lang.UnsupportedOperationException: Can't convert to color: type=0x2
Run Code Online (Sandbox Code Playgroud)

我有一些下一个组件.

<android.support.design.widget.TextInputLayout
            android:id="@+id/til_email"
            android:layout_width="match_parent"
            android:layout_height="@dimen/textinput_height">

            <android.support.v7.widget.AppCompatEditText
                android:id="@+id/et_email"
                android:layout_width="match_parent"
                android:layout_height="@dimen/textinput_height"
                android:drawableLeft="@drawable/ic_face"
                android:drawableStart="@drawable/ic_face"
                android:drawablePadding="8dp"
                android:hint="@string/str_email"
                android:imeOptions="actionNext"
                android:inputType="textEmailAddress"
                android:textColor="@color/blue"
                android:typeface="normal" />
        </android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

我不知道如何解决这个失败.有人可以告诉我一些建议吗?

谢谢.

堆栈跟踪

06-22 09:26:46.897 1853-1853/com.ikomobi.SuscribeApp E/AppCompatResources: Failed to inflate ColorStateList, leaving it to the framework
                                                                           java.lang.UnsupportedOperationException: Can't convert to color: type=0x2
                                                                               at android.content.res.TypedArray.getColor(TypedArray.java:326)
                                                                               at android.support.v7.content.res.AppCompatColorStateListInflater.inflate(AppCompatColorStateListInflater.java:114)
                                                                               at android.support.v7.content.res.AppCompatColorStateListInflater.createFromXmlInner(AppCompatColorStateListInflater.java:88)
                                                                               at android.support.v7.content.res.AppCompatColorStateListInflater.createFromXml(AppCompatColorStateListInflater.java:67)
                                                                               at android.support.v7.content.res.AppCompatResources.inflateColorStateList(AppCompatResources.java:116)
                                                                               at android.support.v7.content.res.AppCompatResources.getColorStateList(AppCompatResources.java:74)
                                                                               at android.support.v7.widget.TintTypedArray.getColorStateList(TintTypedArray.java:136)
                                                                               at android.support.v7.widget.AppCompatTextHelper.onSetTextAppearance(AppCompatTextHelper.java:157)
                                                                               at android.support.v7.widget.AppCompatTextView.setTextAppearance(AppCompatTextView.java:148)
                                                                               at android.support.v4.widget.TextViewCompatGingerbread.setTextAppearance(TextViewCompatGingerbread.java:103)
                                                                               at android.support.v4.widget.TextViewCompat$BaseTextViewCompatImpl.setTextAppearance(TextViewCompat.java:86) …
Run Code Online (Sandbox Code Playgroud)

android android-textinputlayout textinputlayout

7
推荐指数
1
解决办法
2748
查看次数

imeOption ="actionNext"在TextInputLayout中不起作用.

我正在使用材料设计中的浮动提示.我希望将焦点从一个EditText转移到下一个,所以我在所有editTexts中放置了imeOptions ="actionNext",在最后一个EditText中放了imeOptions ="actionDone".但重点不是转移到下一个EditText. 下面是我的xml的片段.

 <android.support.design.widget.TextInputLayout
                        android:id="@+id/streetWrapper"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:theme="@style/TextInputStyle"
                        >

                        <EditText

                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:hint="Street/Locality *"
                            android:imeOptions="actionNext"
                            android:maxLines="1"

                            />

                    </android.support.design.widget.TextInputLayout>

                    <android.support.design.widget.TextInputLayout
                        android:id="@+id/flatWrapper"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="@dimen/_10sdp"
                        android:theme="@style/TextInputStyle">

                        <EditText

                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:hint="Building Name / Flat Number*"
                            android:imeOptions="actionNext"
                            android:maxLines="1"
                            />

                    </android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

xml android android-layout android-textinputlayout

6
推荐指数
2
解决办法
3564
查看次数

自定义文本输入布局

我想应用边框,TextInputLayout如图所示.

现在我已经实现了这样的.

在此输入图像描述

但是,我想如图所示跟随(即标签放在边框内).

在此输入图像描述

我实现的代码EditText如下.

<customviews.MyEditText
             android:id="@+id/email"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:background="@drawable/edittext_border_background"
             android:layout_marginEnd="30dp"
             android:layout_marginStart="30dp"
             android:layout_marginTop="45dp"
             android:gravity="start"
             android:hint="@string/hint_username"
             android:imeOptions="actionNext|actionDone"
             android:inputType="textEmailAddress|text"
             android:padding="10dp"
             android:textColor="@color/primary_text"
             android:textColorHint="@color/secondary_text"
             android:textSize="16sp"
            />
Run Code Online (Sandbox Code Playgroud)

并且,对于边框我已经应用了背景editetext_border_background.xml如下

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
android:padding="20dp">
    <solid android:color="#FFFFFF"/>
    <corners
        android:bottomRightRadius="0dp"
        android:bottomLeftRadius="0dp"
        android:topLeftRadius="0dp"
        android:topRightRadius="0dp"/>
    <stroke 
        android:width="1dip"
        android:color="@color/primary" />

</shape>
Run Code Online (Sandbox Code Playgroud)

当我尝试应用边框时,TextInputLayout它不会给出预期的输出.

在此输入图像描述

谁能帮我??

android android-textinputlayout android-textinputedittext

6
推荐指数
2
解决办法
3070
查看次数

Android EditText错误消息弹出文本未显示

我在我的应用程序中遇到问题,其中EditTexts上的错误弹出显示但文本不可见.它看起来像这样:

EditText错误消息

EditText我的应用程序中的所有s都会发生这种情况.这是一个布局XML的示例

布局:

<?xml version="1.0" encoding="utf-8"?>

<android.support.design.widget.CoordinatorLayout
    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:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/gradient"
    android:fitsSystemWindows="true"
    tools:context=".ui.onboarding.profile.OnboardingUserProfileActivity">
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scaleType="fitXY"
        app:srcCompat="@drawable/shapes_background" />

    <ProgressBar
        android:id="@+id/login_progress"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:visibility="gone" />

    <ScrollView
        android:id="@+id/form"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginBottom="20dp">

        <LinearLayout
            android:id="@+id/linearLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="80dp"
            android:orientation="vertical">

            <android.support.constraint.ConstraintLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="40dp"
                android:layout_marginBottom="20dp">

                <ImageView
                    android:id="@+id/profileImageView"
                    android:layout_width="160dp"
                    android:layout_height="160dp"
                    android:scaleType="fitXY"
                    android:src="@drawable/user_profile_placeholder"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent"/>


                <android.support.design.widget.FloatingActionButton
                    android:id="@+id/cameraImageButton"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="bottom|end"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintRight_toRightOf="parent"
                    app:srcCompat="@android:drawable/ic_menu_camera" />
            </android.support.constraint.ConstraintLayout>

            <android.support.design.widget.TextInputLayout
                android:id="@+id/firstnameTvLayout"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_marginBottom="20dp"
                android:layout_weight="0.33"
                android:textColorHint="@color/colorVeryLightGray"
                android:theme="@style/AppTheme.WhiteColorAccent" …
Run Code Online (Sandbox Code Playgroud)

android android-layout kotlin android-textinputlayout android-textinputedittext

6
推荐指数
1
解决办法
1267
查看次数