【问题标题】:prefixtext changes textInputlayout hight and makes it hugeprefixtext 更改 textInputlayout 高度并使其变得巨大
【发布时间】:2021-11-13 05:34:46
【问题描述】:

我将 textinputlayout 与 textinputedittext 结合使用作为我的 viewtub 的布局。一切正常,直到我尝试添加前缀文本。这样一来,布局就会变得混乱,并且 textInputLayout 很大。我将提供我的代码和一些屏幕截图

Viewstub 布局

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <data>
        <import type="kotlin.jvm.functions.Function1" />

        <import type="kotlin.Unit" />

        <variable
            name="vBility"
            type="Boolean" />
        <variable
            name="vForm"
            type="String" />
        <variable
            name="hint"
            type="String" />
        <variable
            name="iType"
            type="Integer" />
        <variable
            name="mText"
            type="String" />
        <variable
            name="mPrefixText"
            type="String" />
        <variable
            name="mTextListener"
            type="Function1&lt;String,Unit>" />
    </data>


    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:visibility="@{vBility}">

        <com.example.app.presentation.util.view.FixedInputTextLayout
            android:id="@+id/app_default_et"
            style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
            android:layout_width="@dimen/wrapContent"
            android:layout_height="wrap_content"
            android:hint="@{hint}"
            android:visibility="@{vBility}"
            app:prefixText="TEST" <!-- Making problems -->
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:validate_form="@{vForm}">

            <com.google.android.material.textfield.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:inputType="@{iType}"
                android:text="@{mText}"
                app:onTextChanged="@{mTextListener}"
                android:textSize="@dimen/font_text_large" />

        </com.example.app.presentation.util.view.FixedInputTextLayout>

    </androidx.constraintlayout.widget.ConstraintLayout>
</layout>

视图存根

<ViewStub
        android:id="@+id/app_standard_btNumber_et"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:inflatedId="@+id/app_standard_btNumber_et"
        android:layout="@layout/app_standard_textinputlayout"
        android:visibility="@{showBtNumber}"
        app:hint="@{btValidator.btNumberHint}"
        app:iType="@{0x00000002}"
        app:layout_constraintEnd_toStartOf="@+id/margin_right"
        app:layout_constraintStart_toEndOf="@+id/app_standard_phoneNumber_et"
        app:layout_constraintTop_toBottomOf="@+id/app_standard_eMail_et"
        app:mText="@{btValidator.btNumber}"
        app:mTextListener="@{btValidator.onBtNumberChanged}"
        app:vBility="@{showNumber}"
        app:vForm="@{btValidator.btNumberEM}" />

无前缀文本布局

带有前缀文本的布局

【问题讨论】:

    标签: android android-layout android-xml android-textinputlayout viewstub


    【解决方案1】:

    将此行设置为 inputEditText

    android:maxHeight="@dimen/_100sdp"
    

    或设置 singleLine = true

    【讨论】:

    • 单行已弃用。设置 maxHeight 并没有改变任何东西
    猜你喜欢
    • 2020-03-24
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多