TextInputLayout提示在更新Google支持库后不会浮动

时间:2016-12-14 06:14:33

标签: android android-support-library android-textinputlayout

我最近将我的支持库更新为com.android.support:appcompat-v7:25.1.0,之后如果我通过xml文件向EditText添加文本,TextInputLayout提示不会浮动。

我也看过this question,但它对我没用。

这是我的xml代码:

<android.support.design.widget.TextInputLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginBottom="16dp"
        android:layout_marginEnd="16dp"
        app:layout_constraintRight_toRightOf="parent"
        android:layout_marginRight="16dp"
        app:layout_constraintVertical_bias="0.0"
        android:id="@+id/til1"
        android:layout_marginStart="16dp"
        app:layout_constraintLeft_toLeftOf="parent"
        android:layout_marginLeft="16dp"
        app:layout_constraintHorizontal_bias="0.33">

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="From"
            android:inputType="time"
            android:text="09:00 AM"
            android:id="@+id/from_mon"
            android:textSize="14sp" />
    </android.support.design.widget.TextInputLayout> 

这是我的gradle依赖项:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.1.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4'
    compile 'uk.co.chrisjenx:calligraphy:2.2.0'
    compile 'com.android.support:design:25.1.0'
    compile 'com.android.support:support-v4:25.1.0'
    compile 'com.android.support:recyclerview-v7:25.1.0'
    compile 'com.android.support:cardview-v7:25.1.0'
    compile 'com.android.volley:volley:1.0.0'
    compile 'com.github.bhargavms:DotLoader:1.0.1'
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'de.hdodenhof:circleimageview:2.1.0'
    compile 'com.labo.kaji:fragmentanimations:0.1.1'
    compile 'com.github.esafirm.android-image-picker:imagepicker:1.2.5'
    testCompile 'junit:junit:4.12'
}

这是问题

enter image description here

您可以清楚地看到提示正在浮动。

请指导。

6 个答案:

答案 0 :(得分:10)

您必须提供 TextInputLayout 的提示,并使用 TextInputEditText 代替 EditText

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

    <android.support.v7.widget.TextInputEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="09:00 AM" />
</android.support.design.widget.TextInputLayout>

答案 1 :(得分:4)

更新到v7 appcompat库的25.1.0版本后,我在ToolbarRecyclerView等方面遇到了许多严重错误。

我回到了版本25.0.1。

答案 2 :(得分:3)

更新: 该问题已在25.3.1

中修复

这是25.1.0中的错误 https://code.google.com/p/android/issues/detail?id=230171 看来我们现在必须使用以前的25.0.1版本。

答案 3 :(得分:1)

@Rahul Sharma,

为什么在xml文件的EditText标记中使用android:hint="From"android:text="09:00 AM"

而不是在xml文件中只能使用android:hint="From而在Java代码中,你可以动态设置文本。

我希望你能明白我的意思。 感谢。

答案 4 :(得分:1)

此问题已在Support Library Version 25.2.0中修复。请更新至25.2.0 此更新包括其他主要修复程序。

https://developer.android.com/topic/libraries/support-library/revisions.html#25-2-0

答案 5 :(得分:-2)

在build.gradle中检查您的Do更改是否为依赖项。 我认为gradle不是问题

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.1.1'
    compile 'com.android.support:design:24.1.1'

}

如果没有通过更改gradle更改来解决首先检查inpul布局中的基本更改..它会在您做出更改之后挑衅地执行文本浮动..

 <android.support.design.widget.TextInputLayout
                    android:id="@+id/til1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:focusableInTouchMode="true"
                    android:layout_margin="10dp">


    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="From"
        android:inputType="time"
        android:text="09:00 AM"
        android:id="@+id/from_mon"
        android:textSize="14sp" />

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

注意:如果可能的话,将你的提示设置为字符串文件..这可能也是问题。