减少不透明度在视图中会使所有元素的不透明度降低android

问题描述:

我有一个布局,其中我使用了一种颜色,并将其不透明度设置为0.2。我在该布局中有一个textview,但是当我指定布局较不透明时,那么Textview文本也会变淡。为什么?我只想淡出背景颜色而不是textview的文字。布局减少不透明度在视图中会使所有元素的不透明度降低android

<?xml version="1.0" encoding="utf-8"?> 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:alpha="0.2" 
android:background="@drawable/background_rounded_black" 
android:padding="@dimen/dp10"> 


<TextView 
    android:id="@+id/txtNews" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:alpha="1" 
    android:text="djfhwhfirhfiohrhvfuhvfjvbv vknfjvnfjv fv vefjkhvfhvv hvufevhfuievefv ivfhiefhvfe ifvjioefv" 
    android:textColor="@android:color/white" 
    android:textSize="@dimen/dp15" /> 

<TextView 
    android:id="@+id/txtTime" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:layout_below="@id/txtNews" 
    android:layout_marginTop="@dimen/dp10" 
    android:alpha="1" 
    android:drawableLeft="@drawable/clock_news" 
    android:text="12 hrs ago" 
    android:textColor="@android:color/white" 
    android:textSize="@dimen/dp15" /> 

//代码,现在它的外观http://prntscr.com/gbxi87

+0

使用的背景颜色与阿尔法码 –

您设置alpha标签父View这是RelativeLayout。您应该为View准确设置alpha,以便为其添加透明度。或者,如果只想为background添加透明度,则应使用透明颜色作为View的背景。

另外你说你有一个TextView在你的布局,这是我看到的两个!

你必须改变的α你的背景,而不是整个元素

所以删除

android:alpha="0.2" 

和变革只是

android:background="@drawable/background_rounded_black" 

Simpliest方式不透明度是创造新的background_rounded_black_opacity.xmldrawable文件夹中(只需复制drawable/background_round_black),然后将背景颜色更改为所需。

所以,如果background_rounded_black看起来

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#000000"/> 
    <stroke android:width="3dip" android:color="#B1BCBE" /> 
    <corners android:radius="10dip"/> 
</shape> 

您可以添加0.2混浊如添加33到所有的色彩,让你的情况这将是

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#33000000"/> 
    <stroke android:width="3dip" android:color="#33B1BCBE" /> 
    <corners android:radius="10dip"/> 
</shape> 
+0

如何更改背景的不透明度绘制文件@DEADMC –

+0

@DeepanshiGupta看到更新后 – DEADMC

我建议您设置的阿尔法颜色作为textview的背景,它会正常工作。

你设置了不透明度的小部件,所以它设置不透明度到整个textview小部件,而不是你必须设置不透明度textView的背景颜色。

您可以使用8位散列码定义颜色。

例如#90FFFFFF这里前两位数字设置不透明度到颜色。

欲了解更多信息,你可以看到这个链接来设置不透明度:

Opacity color to Hash code