android - TextInputLayout的空白显示问题
阿神
阿神 2017-04-17 17:45:26
0
1
831

首先我这里由于历史原因不能继承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才会出现,就没问题了。

阿神
阿神

闭关修行中......

全部回覆(1)
小葫芦

好吧.....自己把問題給解決了,首先我在xml佈局文件裡,不對edittext寫hint,而是轉到它的TextInputLayout裡寫hint,運行的時候發現6.0可以正常顯示了,但發現4.x的雖然edittext有顯示hint,但沒有動畫效果.....
然後我就換成在代碼裡對TextInputLayout去set hint,沒想到現在就有動畫效果了.....雖然我也不知道是怎麼回事。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板