我试图通过将其alpha值设置为0.3来设置透明度以隐藏浮动edittext的颜色。但是它不起作用。我没有看到editext的提示颜色有任何alpha变化。
以下是代码
<android.support.design.widget.TextInputLayout
android:id="@+id/input_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/mobile_email"
android:layout_marginLeft="@dimen/dp15"
android:layout_marginRight="@dimen/dp15">
<EditText
android:id="@+id/number"
android:layout_width="match_parent"
android:layout_height="40dp"
android:textColor="@color/numxtcolor"
android:alpha="0.3"
android:hint="@string/mobilehint"
android:textSize="@dimen/sp16"
android:inputType="number"/>
</android.support.design.widget.TextInputLayout>
mobilenumber.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
mobilenumber.setAlpha(1);
} else {
if (TextUtils.isEmpty(mobilenumber.getText().toString())) {
mobilenumber.setAlpha(0.3f);
}
}
mobilenumber.invalidate();
}
});
答案 0 :(得分:0)
我认为问题在于你在呼唤:
mobilenumber.setAlpha(0.3f);
这样,您为整个视图设置了alpha。而不是为文本设置。
也许,您可以按如下方式更改代码:
mobilenumber.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
// Fully opaque WHITE color
v.setTextColor(Color.parseColor("#FFFFFFFF"));
} else {
// 70% transparent color
if (TextUtils.isEmpty(mobilenumber.getText().toString())) {
v.setTextColor(Color.parseColor("#55FFFFFF"));
}
}
v.invalidate();
}
});