您的位置:首页技术文章
文章详情页

android - TextInputLayout的空白显示问题

【字号: 日期:2024-09-01 09:16:22浏览:44作者:猪猪

问题描述

首先我这里由于历史原因不能继承AppCompactActivity,所以还是以前的Activity。我引入TextInputLayout它报了inflater之类的错误,那我就给Activity设置主题:

<activity android:name='.LoginAndRegistActivity' android:screenOrientation='portrait' android:theme='@style/Base.Theme.AppCompat'></activity>

这样的话TexuInputLayout就能在这个Activity里使用了,当它一开始是显示空白的,只有当它获取到了点击焦点它的提示效果才能显示出来,一旦失去了焦点,它就又变成了白色。那么我就给这个TextInputLayout设置了主题:

<android.support.design.widget.TextInputLayout android: android:layout_width='match_parent' android:layout_height='134px' android:layout_marginLeft='30px' android:layout_marginRight='30px' android:gravity='center_vertical' android:orientation='vertical' android:focusable='true' android:focusableInTouchMode='true' android:theme='@style/text_input_layout_theme' > <com.ugiant.widget.ClearEditTextandroid: android:layout_width='match_parent'android:layout_height='wrap_content'android:background='@null'android:hint='@string/code'android:imeOptions='actionNext'android:textColor='@color/v4_text_color_black_87'android:textCursorDrawable='@color/primaryColor'android:textSize='16sp' /> <View /></android.support.design.widget.TextInputLayout>

<!-- TextInputLayout的样式--> <style name='text_input_layout_theme' ><!-- Hint color and label color in FALSE state --><item name='android:textColorHint'>@color/primaryColor</item><!--<item name='android:textColor'>@color/v4_text_color_black_87</item>--> </style>

这样TextInputLayout的效果就能显示出来了。但现在进一步的问题是,如果一开始这个TextInputLayout是隐藏的,也就是visibility是gone的时候,当它第一次被visiable的时候,还是显示空白,只有当点击了之后才会显示正常,以后再隐藏再显示都是正常的。如图:android - TextInputLayout的空白显示问题

在登录页的时候,第二个TextInputLayout是gone的,当切换到注册时才出现,但它此时是白色的,而只有当我切换回登录或是点击这第二个TextInputLayout的时候,hint才会出现,就没问题了。

问题解答

回答1:

好吧.....自己把问题给解决了,首先我在xml布局文件里,不对edittext写hint,而是转到它的TextInputLayout里写hint,运行的时候发现6.0可以正常显示了,但发现4.x的虽然edittext有显示hint,但没有动画效果.....然后我就换成在代码里对TextInputLayout去set hint,没想到现在就有动画效果了.....虽然我也不知道是怎么回事。

相关文章: