在EditText中键入时更改LinearLayout Opacity

时间:2017-07-13 04:06:42

标签: android android-layout

如何在输入EditText时更改LinearLayout不透明度? Layout的默认不透明度设置为0.5,当我输入EditText时,我想将不透明度更改为1.

这是我的LinearLayout。

<LinearLayout
        android:layout_width="240dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="90dp"
        android:layout_gravity="center"
        android:orientation="horizontal"
        android:alpha="0.5"
        android:id="@+id/layoutUsername"
        android:background="@drawable/textedit">

        <bolalob.develops.stud11314025.availaballs.CustomView.CustomFontTextView
            android:id="@+id/iconEmailTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20dp"
            android:layout_marginTop="18dp"
            android:text="@string/account_icon"
            app:font="@string/font_icon"
            android:textColor="@color/clrline">

        </bolalob.develops.stud11314025.availaballs.CustomView.CustomFontTextView>

        <android.support.design.widget.TextInputLayout
            android:id="@+id/textInputEmail"
            android:layout_width="240dp"
            android:layout_height="48dp"
            android:layout_marginEnd="8dp"
            android:layout_marginLeft="8dp"
            android:layout_marginRight="8dp"
            android:layout_marginStart="8dp"
            android:theme="@style/TextLabelLogin">

            <bolalob.develops.stud11314025.availaballs.CustomView.CustomFontEditTextView
                android:id="@+id/eTEmail"
                android:layout_width="240dp"
                android:layout_height="40dp"
                android:drawablePadding="15dp"
                android:drawableTint="@color/clrline"
                android:textColor="@color/clrpressed"
                android:textColorHighlight="#FFFFFF"
                android:ems="10"
                android:hint="email"
                android:inputType="textEmailAddress"
                android:textSize="12dp"
                android:textStyle="normal"
                android:background="@android:color/transparent"
                app:font="@string/font_roboto" />

        </android.support.design.widget.TextInputLayout>

    </LinearLayout>

1 个答案:

答案 0 :(得分:1)

在EditText上添加Text Watcher,并使用所需的行为更改LinearLayout的alpha。

View ll= findViewById(R.id.layoutUsername);
    findViewById(R.id.eTEmail). addTextChangedListener(emailWatcher);

    private final TextWatcher emailWatcher = new TextWatcher() {
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
               ll.setAlpha(1.0);
            }

            public void onTextChanged(CharSequence s, int start, int before, int count) {

            }

            public void afterTextChanged(Editable s) {

                }
            }
        };