在更新Google支持库后,TextInputLayout提示不会浮起来
我最近更新我的支持库com.android.support:appcompat-v7:25.1.0
之后,如果我通过XML文件添加文本到EditText
的TextInputLayout
提示不浮起来。
我也看了一下这个问题,但是这对我没有帮助。
这是我的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' }
这就是问题
你可以清楚地看到提示是浮动的。
请指导。
您必须向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>
在更新到v7 appcompat库的版本25.1.0之后,我遇到了很多严重的Toolbar
, RecyclerView
等错误。
我回到了25.0.1版。
更新:这个问题在25.3.1被修复
这是25.1.0中的一个错误https://code.google.com/p/android/issues/detail?id=230171现在看来我们必须先使用先前的25.0.1版本。;
@Rahul Sharma,
为什么在xml文件的EditText标签中使用android:hint="From"
和android:text="09:00 AM"
?
而不是你可以只使用android:hint="From
xml文件和在Java代码中,你可以dynamic设置文本。
我希望你能明白我的观点。 谢谢。
支持库版本25.2.0中解决了此问题。 请更新至25.2.0此更新包含其他主要修补程序。
https://developer.android.com/topic/libraries/support-library/revisions.html#25-2-0
在你的build.gradle中检查你是否做了这样的变化,我认为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布局中的基本变化..它将会挑战你的文本float ..做完你的更改后。
<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>
注:如果可能的话,将你的提示设置为string文件..也许这也是问题。