在Android Java中将EditText的提示移到顶部[重复]

Posted

技术标签:

【中文标题】在Android Java中将EditText的提示移到顶部[重复]【英文标题】:Moving the hint of EditText to top in Android Java [duplicate] 【发布时间】:2020-11-24 14:24:01 【问题描述】:

如何在输入时将 EditText (android Java) 的提示移动到视图顶部? 我附上了 2 张图片来展示我想如何实现我的 EditText 视图。

如何让search country按照图片在视图顶部提示?

请帮忙!

【问题讨论】:

【参考方案1】:

使用TextInputLayout 可以实现这一点。

<com.google.android.material.textfield.TextInputLayout
    android:id="@+id/searchCountriesInputLayout"
    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
    android:layout_
    android:layout_ >

    <com.google.android.material.textfield.TextInputEditText
        android:id="@+id/searchCountriesEditText"
        android:layout_
        android:layout_
        android:hint="Search Countries" />

</com.google.android.material.textfield.TextInputLayout>

build.gradle:

dependencies 
    implementation 'com.google.android.material:material:1.1.0'

【讨论】:

@RaghavAmbashta:你试过了吗? 我试过了,但显示错误。 错误说明了什么? 应用每次都会崩溃 好的,把logcat的内容贴出来看看有什么问题。【参考方案2】:

您可以为此使用 TextInputLayout:-

<com.google.android.material.textfield.TextInputLayout
        android:id="@+id/tilSearchCountry"
        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
        android:layout_
        android:layout_
        android:layout_margin="@dimen/padding_normal"
        android:hint="@string/your_hint"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/etSearchCountry"
            android:layout_
            android:layout_/>
    </com.google.android.material.textfield.TextInputLayout>

如果您还没有包含 google 材料库,请将其添加到您的 build.gradle:

dependencies 
    implementation 'com.google.android.material:material:1.1.0'

【讨论】:

@+id/tvHeader 是什么? 对不起@RaghavAmbashta 这是我的错我试图在我的一个布局中使用它以便为您提供解决方案并最终得到那个标签我已经更新了答案 还需要更新@style 主题为 Theme.MaterialComponents.NoActionBar 和 android:layout_margin="@dimen/padding_normal" 显示错误 padding_normal 只是您可能在 dimens.xml 中定义的标准填充,如果不只是使用 16dp 代替或根据您的要求,这只是应用程序中填充的标准命名约定,请不要混淆它根据您的要求使用填充。

以上是关于在Android Java中将EditText的提示移到顶部[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android中将edittext与微调器合并?

如何在EditText中将光标定位在右侧

如何在Android Layout中将EditBox中的文本划分为TextView和EditBox

新手求助android在JAVA代码中修改EditText的相关属性。

使用 Button 将 EditText 保存到文件 - Android、Java

Android View如何获取焦点