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

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

阿神
阿神

闭关修行中......

répondre à tous(1)
小葫芦

D'accord... J'ai résolu le problème moi-même. Tout d'abord, je n'ai pas écrit d'indices dans edittext dans le fichier de mise en page XML, mais je suis passé à son TextInputLayout et j'ai écrit des indices lors de l'exécution, j'ai trouvé que la version 6.0 pouvait s'afficher normalement, mais. trouvé que même si le texte d'édition de 4. indice, je ne m'attendais pas à ce qu'il y ait des effets d'animation maintenant... même si je ne sais pas ce qui se passe.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal