设置背景的alpha也会影响子项中的文本

时间:2016-04-07 12:56:52

标签: android

我正在开发一个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>

以下是结果的屏幕截图:

text within children is faded

1 个答案:

答案 0 :(得分:1)

如果您的背景只是一种颜色,则可以从布局中删除Alpha。 您可以使用像#BBFF80AB这样的十六进制颜色,而不是使用@ color / colorAccent 十六进制颜色具有如下结构:#AARRGGBB其中AA-alpha,RR-red,GG-green,BB-blue。通过更改该颜色的alpha,您只能更改背景的alpha,而不是所有视图的alpha。因此,在您的情况下,使布局如下:

  

|(123)|(234)|(345)