标签: android-textinputlayout

带有 AutoCompleteTextView 的 TextInputLayout 的默认文本

我正在使用它来显示一种Spinner视图类型TextInputLayout,但我不知道如何为其设置任何默认值。

<com.google.android.material.textfield.TextInputLayout
    style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:hintTextColor="@color/primary_color_3">

    <AutoCompleteTextView
        android:id="@+id/accType_dropdown"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:backgroundTint="@android:color/transparent"
        android:inputType="none"
        android:text="@={viewModel.mytext}"
        android:lineSpacingExtra="5sp"
        android:textColor="@color/name_primary_color"
        android:textSize="14sp" />

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

占位符仅在处于焦点模式时有效,因此请提出解决方法。

编辑:

我在此文本视图中使用两种方式的数据绑定,因此似乎没有解决方案适用于我的情况。即使我尝试为绑定对象设置默认值,它也会在应用程序启动时自动弹出我不需要的微调器,所以请给我建议。

android autocompletetextview android-textinputlayout material-components-android

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

boxStrokeColor 与 com.google.android.material.textfield.TextInputLayout 不起作用

我在应用程序中使用 TextInputLayout,并且想更改 boxStroke 颜色。我使用 app:boxStrokeColor = "@color/white"来更改 Box Stroke 颜色,但 BoxStrokeColor 的颜色没有改变。

但是,当我将以下代码块添加到 color.xml 中时,当我在应用程序中使用它时,它会影响应用程序中所有 TextInputLayout 的 boxStrokeColor。

<colorname="mtrl_textinput_default_box_中风_color"tools:override="true">@color/white 如何解决该问题?相关代码块

<com.google.android.material.textfield.TextInputLayout
            style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColorHint="@color/LightBlue"
            android:theme="@style/ThemeOverlay.AppTheme.TextInputEditText.Outlined"
            app:boxStrokeColor="@color/white"
            app:boxStrokeWidth="3dp"
            app:startIconTint="@color/white">

            <com.google.android.material.textfield.TextInputEditText
                android:id="@+id/numberOfPlayer_txt"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:inputType="numberDecimal"
                android:focusable="true"
                android:focusableInTouchMode="true"
                android:textColor="@color/gold"


                />

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

很有型 :

<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar.Bridge">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
</style>


<style name="AppBaseTheme" parent="Theme.MaterialComponents.Light.NoActionBar.Bridge">
        <item name="android:windowBackground">@color/Thistle</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
</style>

<style name="ThemeOverlay.AppTheme.TextInputEditText.Outlined" parent="">
        <item name="colorPrimary">@color/white</item>
        <item name="boxCornerRadiusBottomEnd">20dp</item>
        <item name="boxCornerRadiusBottomStart">20dp</item>
        <item name="boxCornerRadiusTopEnd">20dp</item>
        <item name="boxCornerRadiusTopStart">20dp</item>
        <item …
Run Code Online (Sandbox Code Playgroud)

layout android styles android-textinputlayout

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

AutoCompleteTextView - 如何删除顶部和底部的边距?

我正在使用创建一个下拉菜单AutoCompleteTextView。如何删除列表顶部和底部的默认边距?

在此输入图像描述

重新创建:

<com.google.android.material.textfield.TextInputLayout
        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintStart_toStartOf="parent"
        app:boxBackgroundColor="@color/white"
        android:focusable="false"
        app:boxStrokeWidth="1.5dp"
        app:layout_constraintTop_toBottomOf="@+id/spinner_network">

        <AutoCompleteTextView
            android:id="@+id/autoCompleteTextView"
            android:layout_width="250dp"
            android:layout_height="match_parent"
            android:inputType="none"
            android:dropDownHeight="200dp"
            android:text="Select age" />

    </com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
        List<String> dropdownItems = new ArrayList<>();
        for(int i = 1; i <= 100; i++){
            dropdownItems.add(String.valueOf(i));
        }

        ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<>(
                this, R.layout.dropdown_item, dropdownItems
        );

        AutoCompleteTextView autoCompleteTextView = findViewById(R.id.autoCompleteTextView);
        autoCompleteTextView.setAdapter(spinnerAdapter);
Run Code Online (Sandbox Code Playgroud)

R.layout.dropdown_item

<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/textView"
    android:layout_width="match_parent"
    android:textColor="@color/black"
    android:padding="14dp"
    android:layout_height="wrap_content"
    android:text="TextView" />
Run Code Online (Sandbox Code Playgroud)

android autocompletetextview material-design android-textinputlayout material-components-android

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

TextInputLayout - 在静止状态下更改EditText中的浮动标签提示颜色

我正在使用TextInputLayout和浮动标签提示.但在正常状态下,我无法将提示颜色从白色更改为其他颜色.有没有办法做到这一点 ?

<android.support.design.widget.TextInputLayout
    android:id="@+id/fullNameTextLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:layout_weight="0.75">
    <EditText
        android:id="@+id/etFullName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="15dp"
        android:layout_marginLeft="15dp"
        android:layout_marginEnd="15dp"
        android:layout_marginRight="15dp"
        android:singleLine="true"
        android:hint="Full Name"
        android:textColor="@color/gray_dark"
        android:textColorHint="@color/green"
        android:textColorHighlight="@color/green" />
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

在背景改变的情况下附加两个屏幕截图.

同样看法有绿色背景

同样看法有白色背景

android android-layout android-edittext android-textinputlayout

3
推荐指数
1
解决办法
9974
查看次数

如果禁用EditText内部,如何更改TextInputLayout的浮动提示颜色

我使用EditTextTextInputLayout.TextInputLayout如果禁用EditText,我只想更改浮动提示颜色.我尝试使用选择器它不起作用.

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:textColor="@color/darkGray" />
    <item android:state_pressed="false" android:state_focused="false" android:textColor="@color/lightGray"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

android android-edittext android-textinputlayout

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

在TextInputLayout中,更改单个字母或字母的提示颜色

我在我的Activity中以编程方式定义了TextInputLayout.我已经在TextInputLayout中添加了EditText,以编程方式.

现在,我必须设置该edittext的提示颜色.在这里,我只需要改变提示的单个字母的颜色.

Example - Hint is like, Firstname *. Here  i want to change the color of "*" to Red and remaining hint as black in color.
Run Code Online (Sandbox Code Playgroud)

我已经尝试过Html和Spannable String,但两者都不适用于TextInputLayout.

对于Spannable我做了

SpannableString redSpannable = new SpannableString(red);
redSpannable.setSpan(new ForegroundColorSpan(Color.RED), 0, red.length(), 0);
Spanned hint = Html.fromHtml(string + redSpannable);
etDefault[j].setHint(hint);
Run Code Online (Sandbox Code Playgroud)

对于HTML,

I used "font-color"
Run Code Online (Sandbox Code Playgroud)

如果有人知道这一点,那么分享您的意见.

android android-edittext android-design-library android-textinputlayout

3
推荐指数
1
解决办法
1604
查看次数

TextInputLayout 错误消息大小

有没有办法强制 TextInputLayout 错误消息采用单行?

我尝试将app:errorTextAppearance="@style/error_appearance"包含以下内容的 error_appearance 样式放置在 TextInputLayout 上:

<item name="android:maxLines">1</item>
<item name="android:ellipsize">end</item>
<item name="android:inputType">text</item>
Run Code Online (Sandbox Code Playgroud)

它不起作用。然而,改变颜色是有效的。我不明白,mErrorView 只是一个 TextView,它应该可以工作。

TextInputLayout 错误信息

android text-size android-textinputlayout

3
推荐指数
2
解决办法
4266
查看次数

如何更改TextInputEditText的底线颜色和提示颜色?

我正在使用TextInputLayout和TetInputEditText来获取浮动提示.现在我想更改编辑文本的提示和底线的颜色.我想让用户点击编辑文本时进行更改.

所以我尝试更改编辑文本的onClickListener颜色.但我没有发现颜色有任何变化.

xml布局:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/white"
    android:orientation="vertical">


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

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_item_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_marginTop="20dp"
            android:paddingTop="05dp">
        <android.support.design.widget.TextInputEditText
            android:layout_width="240dp"
            android:layout_height="45dp"
            android:id="@+id/editTextItemName"
            android:layout_gravity="center_horizontal"
            android:hint="@string/item_name"
            android:textSize="12sp" />
        </android.support.design.widget.TextInputLayout>
    </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

java代码:

      public void setUpUI(){

        edt_Item_Name = (TextInputEditText) findViewById(R.id.editTextItemName);
        edt_Item_quantity = (TextInputEditText)findViewById(R.id.editTextItemQuantity);
        edt_Item_Unit = (TextInputEditText)findViewById(R.id.editTextItemUnit);

        textInput_Item_name = (TextInputLayout)findViewById(R.id.input_layout_item_name);
        textInput_Item_quantity = (TextInputLayout)findViewById(R.id.input_layout_item_quantity);
        textInput_Item_Unit = (TextInputLayout)findViewById(R.id.input_layout_item_unit);

        edt_Item_Name.getBackground().mutate().setColorFilter(ContextCompat.getColor(this, R.color.edtColor), PorterDuff.Mode.SRC_ATOP);

        edt_Item_Name.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                edt_Item_Name.setHintTextColor(ContextCompat.getColor(SearchActivity.this, R.color.edtColor));
                edt_Item_Name.getBackground().mutate().setColorFilter(ContextCompat.getColor(SearchActivity.this, R.color.edtColor), PorterDuff.Mode.SRC_ATOP);
            }
        });
    }

}
Run Code Online (Sandbox Code Playgroud)

输出: 在此输入图像描述

我怎样才能做到这一点?

java android colors android-textinputlayout android-textinputedittext

3
推荐指数
1
解决办法
5390
查看次数

TextInputLayout在Android Lollipop及以上版本中崩溃

我在我的一个应用布局中使用TextInputLayout.我的应用程序在Lollipop(5.1)及更高版本的用户设备上崩溃.以下是错误

android.view.InflateException: Binary XML file line #34: Binary XML file line #2: Error inflating class android.support.design.widget.TextInputLayout arrow_drop_down
Caused by android.view.InflateException: Binary XML file line #34: Binary XML file line #2: Error inflating class android.support.design.widget.TextInputLayout arrow_drop_down
Caused by android.view.InflateException: Binary XML file line #2: Error inflating class android.support.design.widget.TextInputLayout arrow_drop_down
Caused by java.lang.reflect.InvocationTargetException: arrow_drop_down
Caused by android.content.res.Resources$NotFoundException: File res/drawable-v21/design_password_eye.xml from drawable resource ID #0x7f0200b1 arrow_drop_down
Caused by android.content.res.Resources$NotFoundException: File res/drawable-v21/avd_show_password.xml from drawable resource ID #0x7f02005c arrow_drop_down
Caused by android.content.res.Resources$NotFoundException: File res/drawable-v21/avd_show_password_1.xml from …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-support-library android-support-design android-textinputlayout

3
推荐指数
2
解决办法
2682
查看次数

将PasswordToggle Gravity更改为左侧(对于RTL语言)

我用来TextInputLayout从用户那里获取密码,如下所示:

<android.support.design.widget.TextInputLayout
                android:id="@+id/RegisterPassInput"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="16dp"
                app:passwordToggleEnabled="true"
                android:layout_marginRight="16dp"
                android:layout_toStartOf="@+id/RegisterPassImg">

                <EditText
                    android:id="@+id/RegisterPassET"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="right"
                    android:hint="@string/Password"
                    android:inputType="textPassword"
                    android:maxLength="40" />
            </android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

结果是:

在此输入图像描述

但我想要这样的东西:

在此输入图像描述

如何在editText左侧设置passwordToggle gravity align.
出于很多原因,我rtl清单中禁用了支持

android:supportsRtl="false"
Run Code Online (Sandbox Code Playgroud)

android android-edittext android-textinputlayout

3
推荐指数
1
解决办法
492
查看次数