prefixtext 更改 textInputlayout 高度并使其变得巨大

Posted

技术标签:

【中文标题】prefixtext 更改 textInputlayout 高度并使其变得巨大【英文标题】:prefixtext changes textInputlayout hight and makes it huge 【发布时间】: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_
        android:layout_
        android:visibility="@vBility">

        <com.example.app.presentation.util.view.FixedInputTextLayout
            android:id="@+id/app_default_et"
            style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
            android:layout_
            android:layout_
            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_
                android:layout_
                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_
        android:layout_
        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" />

无前缀文本布局

带有前缀文本的布局

【问题讨论】:

【参考方案1】:

将此行设置为 inputEditText

android:maxHeight="@dimen/_100sdp"

或设置 singleLine = true

【讨论】:

单行已弃用。设置 maxHeight 并没有改变任何东西

以上是关于prefixtext 更改 textInputlayout 高度并使其变得巨大的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 之 输入框TextField

HAC 集群更改 IP(单节点更改全部节点更改)

更改fancybox iframe的大小-我可以更改宽度但不能更改高度?

在运行时更改方向更改 ViewControllers

UIScrollView 更改 contentOffset 时更改框架

HAC集群更改IP(单节点更改全部节点更改)