首先我这里由于历史原因不能继承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:id="@+id/tt_code"
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.ClearEditText
android:id="@+id/et_input_code"
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 style="@style/view_line" />
</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的时候,还是显示空白,只有当点击了之后才会显示正常,以后再隐藏再显示都是正常的。如图:
在登录页的时候,第二个TextInputLayout是gone的,当切换到注册时才出现,但它此时是白色的,而只有当我切换回登录或是点击这第二个TextInputLayout的时候,hint才会出现,就没问题了。
Baiklah... Saya sendiri yang menyelesaikan masalah ini, saya tidak menulis petua dalam edittext dalam fail susun atur xml, tetapi beralih ke TextInputLayout dan menulis petunjuk Apabila berjalan, saya dapati 6.0 boleh dipaparkan secara normal mendapati bahawa walaupun teks suntingan 4. Petunjuk, saya tidak sangka akan ada kesan animasi sekarang...walaupun saya tidak tahu apa yang berlaku.