标签: textinputlayout

TextInputLayout 提示在 recreate() 方法调用时不会刷新

我在用着TextInputLayout。我设置了它的提示来string.xml应用本地化。因此,从下拉列表中更改语言后,我使用recreate()使用所选语言资源刷新整个活动组件的方法,但TextInputLayout提示没有刷新。

android recreate kotlin textinputlayout material-components

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

TextInputLayout错误颜色未被清除?

我有一个带有EditText的TextInputLayout.

这是我的xml:

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

    <EditText
        android:id="@+id/editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="Enter Text" />

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

我的java代码:

((TextInputLayout) findViewById(R.id.textInputLayout)).setError("ERROR");
Run Code Online (Sandbox Code Playgroud)

当我调用setError("ERROR")时,标签(提示)颜色和EditText的底线颜色变为红色并出现错误.这是我期望的行为.

现在让我们说在销毁我的活动之前我不会调用setError(null).现在我再次打开相同的活动.我可以看到我的应用程序里面的所有EditText字段的底线都是红色的,虽然标签颜色似乎被重置并且错误消息被取消.这并不总是可重复的,但如果我继续尝试,我最终可以得到它.

我正在使用带有5.1.1的Nexus 4.

难道我做错了什么?

android android-edittext textinputlayout

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

当EditText获得焦点时,使用TextInputLayout滚动NestedScrollView

我有那种布局:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    android:id="@+id/coordinatorLayout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/appbar_background">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="360dp"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:elevation="1dp">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:minHeight="?attr/actionBarSize"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            app:titleEnabled="false">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:layout_collapseMode="parallax"
                app:layout_collapseParallaxMultiplier="0.7">

                <android.support.v4.view.ViewPager
                    android:id="@+id/post_pager"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                />

            </RelativeLayout>

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            />


        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>


    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        android:background="@color/common_green"
        android:src="@drawable/add_picture"
        app:backgroundTint="@color/common_green"
        app:elevation="2dp"
        app:fabSize="normal"
        app:layout_anchor="@id/appbar"
        app:layout_anchorGravity="bottom|left|start"
        app:rippleColor="@color/common_grey"/>


    <android.support.v4.widget.NestedScrollView
        android:id="@+id/nested_scroll"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="fill_vertical"
        android:fitsSystemWindows="true"
        android:padding="16dp"
        app:elevation="5dp"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <LinearLayout android:layout_width="match_parent"
                      android:layout_height="match_parent"
                      android:orientation="vertical">

            <android.support.design.widget.TextInputLayout
                android:id="@+id/slide_content_til"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="16dp"
                android:background="@color/appbar_background"
                android:hint="@string/write_something"
                android:orientation="vertical"
                android:textColorHint="@color/white"
                app:errorEnabled="false" …
Run Code Online (Sandbox Code Playgroud)

android nestedscrollview textinputlayout

6
推荐指数
0
解决办法
1181
查看次数

在Hint,TextInputLayout上设置自定义字体

我试图设置自定义字体上HintTextInputLayout.因此我使用自TextInputLayout定义属性的自定义子类MyHint.此属性设置器应格式化文本并设置FormattedText但不起作用.

如果我只是设置FormattedHint属性它也不格式化.有谁为什么这些方法失败了?

下面你可以看到我的自定义类属性.

例:

BaseTextInputLayout userNameInput = view.FindViewById<BaseTextInputLayout>(Resource.Id.myId);
userNameInput.MyHint = "My Custom hint text";
Run Code Online (Sandbox Code Playgroud)

类:

   public class BaseTextInputLayout: TextInputLayout
    {
        public string MyHint
        {
            get
            {
                return Hint;
            }
            set { 
                if (value != null)
                {
                    SpannableStringBuilder builder = new SpannableStringBuilder(value);
                    builder.SetSpan(new CustomTypeFaceSpan("", Constants_Android.TYPEFACE_YOGA_MET_EVY_CUSTOMFONT), 0, builder.Length(), SpanTypes.InclusiveExclusive);
                    this.HintFormatted = builder;
                }
                else
                {
                    this.HintFormatted = null;
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

android xamarin textinputlayout

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

Android TextInputLayout提示与EditText提示重叠

我面临一个奇怪的问题,我有一个InputTextLayout和一个EditText,并且我正在尝试实现类似的功能(如下图所示)(来自材料设计指南的图像:https : //material.io/guidelines/components /text-fields.html#text-fields-layout),其中有两个单独的提示。我这样做是通过将android:hint添加到两个布局中。这可以正常工作,但是当焦点移开该位置时,“标签”将向下移动并与“占位符”文本重叠。(仅当用户未提供任何输入且编辑文本为空时,两个提示才重叠)。关于如何解决此问题的任何指示?

作为一项要求,我需要两个提示都存在,并且“标签”不应向下移至焦点更改。两种提示都应保持在原位

 <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Label">

        <android.support.v7.widget.AppCompatEditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Placeholder"
            android:inputType="textCapWords"
            />

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

在此处输入图片说明

android android-layout android-edittext android-textinputlayout textinputlayout

6
推荐指数
3
解决办法
4353
查看次数

在运行 5.1.1 的 Oppo F1S 中单击 TextInputLayout 崩溃

单击 TextInputLayout 后,应用在运行 5.1.1 的 Oppo F1S 中延迟 1 秒后崩溃。我无法访问设备拳头,我收到了 crashlytics 的崩溃报告,然后我让我的远程朋友在他们的 oppo 手机上尝试一下。

我无法找出原因,而且由于我无法访问该设备,我发现解决这个问题非常困难。

它在其他设备上运行良好,甚至在运行 8.1.0 的 oppoF7 中也能正常工作

这是我的 XML

   <android.support.design.widget.TextInputLayout
            android:id="@+id/til_email"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginEnd="24dp"
            android:layout_marginStart="24dp"
            android:layout_marginTop="32dp"
            android:theme="@style/TextLabel"
            app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="1.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/textView53">

            <android.support.v7.widget.AppCompatEditText
                android:id="@+id/et_email"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#00000000"
                android:drawablePadding="10dp"
                android:hint="Email"
                android:inputType="textEmailAddress"
                android:onTextChanged="@{(text, start, before, count) -> activity.onEmailChanged(text)}"
                android:paddingTop="10dp"
                app:backgroundTint="@color/black" />
        </android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

这是styles.xml

<!--Input field style-->
    <style name="MyEditText" parent="Theme.AppCompat.Light">
        <item name="colorControlNormal">@color/black</item>
        <item name="colorControlActivated">@color/black</item>
        <item name="android:textColorHint">@color/greish</item>
        <item name="android:textSize">14sp</item>
        <item name="colorAccent">@color/black</item>
    </style>
    <style name="ErrorText" parent="TextAppearance.AppCompat">
        <item name="android:textStyle">bold|italic</item>
        <item name="android:textColor">@color/colorPrimary</item>
    </style>

    <style …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-textinputlayout textinputlayout

5
推荐指数
1
解决办法
1011
查看次数

如何从 TextInputLayout 中删除底部填充

第一张图就是我想要的。第二张图是我实现的。如您所见,TextInputLayout 底部有一个填充,这使得灰色背景溢出编辑文本行。

请不要建议负边距或填充,因为它在较新的 API 中不起作用。

这是我用于第一个文本输入布局的 XML。

<android.support.design.widget.TextInputLayout
    android:id="@+id/fullNameTextLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginEnd="16dp"
    android:layout_marginStart="16dp"
    android:layout_marginTop="32dp"
    android:paddingTop="10dp"
    android:background="#EAEAEA"
    android:hint="Full Name"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <EditText
        android:id="@+id/fullNameEditText"
        style="@style/Regular15Grey1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textCapWords"
        android:paddingLeft="12dp"
        android:paddingRight="12dp"
        android:singleLine="true"/>
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

图片1 图2

java android kotlin textinputlayout

5
推荐指数
1
解决办法
3049
查看次数

多行在 TextInputLayout 中不起作用

无论我做什么,我都无法EditText在内部制作多行TextInputLayout(必须InputLayout为字符计数器添加)。所以当我输入一些东西时,它会水平移动,而不是在一段时间后转到新的一行。如您所知,在 normal EditTexts 中, multiline 可以解决问题,但在这种情况下则不然。你怎么认为?谢谢你。

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


<android.support.constraint.ConstraintLayout 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.support.v7.widget.CardView
        android:id="@+id/cardView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="4dp"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:layout_marginTop="40dp"
        android:layout_weight="1"
        app:layout_constraintBottom_toTopOf="@+id/adViewNewEntry"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.134">

        <android.support.design.widget.TextInputLayout
            android:id="@+id/textContainer"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="2dp"
            android:padding="28dp"
            app:counterEnabled="true"
            app:counterMaxLength="280"

            app:layout_constraintBottom_toTopOf="@+id/save_button"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.0">

            <android.support.design.widget.TextInputEditText
                android:id="@+id/editText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"

                android:layout_marginBottom="8dp"
                android:layout_marginEnd="8dp"
                android:layout_marginStart="8dp"
                android:layout_marginTop="8dp"

                android:background="@android:color/transparent"
                android:gravity="top|left"

                android:inputType="textNoSuggestions|textMultiLine"
                android:maxLines="10"


                android:scrollbars="vertical"

                />

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


    <Button
        android:id="@+id/save_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="15dp"
        android:layout_marginStart="256dp"
        android:layout_marginTop="8dp"
        android:layout_weight="1"
        android:onClick="saveToDatabase"
        android:text="SAVE"
        app:layout_constraintBottom_toTopOf="@+id/adViewNewEntry"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.75"
        app:layout_constraintStart_toStartOf="parent" …
Run Code Online (Sandbox Code Playgroud)

android multiline android-edittext textinputlayout

5
推荐指数
2
解决办法
4818
查看次数

TextInputLayout 下划线颜色在聚焦时不适应自定义颜色

不知道我错过了什么,但每次edittext聚焦时,下划线颜色都不会适应我设置的自定义颜色。这是我的主题代码供参考

<style name="EditTextHintWhite" parent="@style/AppTheme">
   <item name="color">@color/white</item>
   <item name="android:textColorHint">@color/white</item>
   <item name="colorControlNormal">@color/white</item>
   <item name="colorControlActivated">@color/white</item>
   <item name="colorError">@color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我已将它们全部设置为白色,但不知何故,当焦点edittext聚焦时,下划线变成绿色

在此输入图像描述

这是我的布局代码

<com.google.android.material.textfield.TextInputLayout
        android:id="@+id/email"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/EditTextHintWhite">

        <androidx.appcompat.widget.AppCompatEditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/email"
            android:inputType="textEmailAddress"
            android:maxLines="1"
            android:shadowColor="@color/white"
            android:singleLine="true"
            android:textColor="@color/white"
            app:backgroundTint="@color/white" />

</com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

android android-textinputlayout textinputlayout material-components material-components-android

5
推荐指数
1
解决办法
4894
查看次数

如何在TextInputLayout中更改提示文本大小

假设我想要更改文字大小.我在代码中这样做,它看起来像这样:

_textInputLayout.EditText.SetTextSize(Android.Util.ComplexUnitType.Dip, 40);
Run Code Online (Sandbox Code Playgroud)

当我在条目中写入文本时,它看起来像40dip文本.但是当条目为空时,提示文本看起来像16-18dip.

有没有办法改变提示文字大小?

android xamarin xamarin.forms android-textinputlayout textinputlayout

4
推荐指数
1
解决办法
4429
查看次数