我正在开发一个Android应用程序,但是当我更改背景的alpha值时,它的子元素也会受到影响,元素中的每个文本都会淡出。
如何从布局中的文本中删除淡入淡出?
这是我的XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:background="@color/whitesmoke"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="90dp">
<ImageView
android:alpha="0.5"
android:scaleType="centerCrop"
android:id="@+id/iv_user_background"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<LinearLayout
android:padding="10dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<de.hdodenhof.circleimageview.CircleImageView
app:civ_border_width="5dp"
app:civ_border_color="@color/white"
android:id="@+id/civ_user_profile"
android:layout_width="70dp"
android:layout_height="70dp" />
<LinearLayout
android:alpha="0.5"
android:background="@color/colorAccent"
android:paddingLeft="10dp"
android:layout_weight="1"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:textSize="18dp"
android:layout_marginTop="5dp"
android:id="@+id/tv_user_name"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="3dp"
android:paddingBottom="3dp"
android:alpha="30"
android:layout_marginTop="5dp"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_user_like"
android:layout_width="15dp"
android:layout_height="15dp" />
<TextView
android:textSize="10dp"
android:layout_marginLeft="5dp"
android:id="@+id/tv_user_like_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.TabLayout
android:id="@+id/tl_user_nav_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:elevation="6dp"
android:minHeight="?attr/actionBarSize" />
</LinearLayout>
<FrameLayout
android:background="@color/whitesmoke"
android:id="@+id/user_main_content"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
以下是结果的屏幕截图:
答案 0 :(得分:1)
如果您的背景只是一种颜色,则可以从布局中删除Alpha。 您可以使用像#BBFF80AB这样的十六进制颜色,而不是使用@ color / colorAccent 十六进制颜色具有如下结构:#AARRGGBB其中AA-alpha,RR-red,GG-green,BB-blue。通过更改该颜色的alpha,您只能更改背景的alpha,而不是所有视图的alpha。因此,在您的情况下,使布局如下:
|(123)|(234)|(345)