我在线性布局和卡片视图中添加了背景图像。在CardView下我添加了另一个渐变背景图像并设置了alpha .5。当我添加TextView并添加Text时,文本也变为半透明,如图所示。我尝试使用Bold外观,但它没有用。 I have uploaded the Image
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.vikramgehlot.QuotesandStatus.Apj"
android:background="@drawable/materialbackground" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="215dp"
android:orientation="vertical">
<ImageView
android:layout_marginTop="0dp"
android:layout_width="match_parent"
android:layout_height="215dp"
android:src="@drawable/ic_format_quote_black_24dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.CardView
android:layout_margin="10dp"
android:layout_width="350dp"
android:layout_height="70dp"
app:cardCornerRadius="40dp"
android:alpha=".5">
<LinearLayout
android:layout_margin="6dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/rectangle"
android:alpha=".5">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="fill"
android:text="Don’t let a mad world tell you that success is anything other than a successful present moment. "
android:textColor="@color/black"
android:textStyle="bold"
android:textSize="13dp"
/>
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
答案 0 :(得分:2)
通过将cardview的alpha设置为0.5,您将使其所有后代视图的alpha值均为0.5。您应该使linearlayout的背景,即@ drawable / rectangle具有alpha( ARGB ,例如#98000000)的颜色,而不是将alpha设置为0.5到linearlayout和cardview。
答案 1 :(得分:2)
您可以为十六进制颜色赋予透明度。每个透明度的百分比都有一个唯一的代码,如here所述。
您可以在颜色文件中创建具有透明性的颜色并将其设置为卡片背景。例如:
set_timestamp
意味着白色的不透明度为25%。
答案 2 :(得分:0)
TextView的不透明度发生了变化,因为它是您的CardView的孩子。将TextView和CardView分别放在可以重叠然后居中的布局中,将它放在CardView上方。这样,您可以为视图设置不同的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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.vikramgehlot.QuotesandStatus.Apj"
android:background="@drawable/materialbackground" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="215dp"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="215dp"
android:layout_marginTop="0dp"
android:src="@drawable/ic_format_quote_black_24dp" />
<RelativeLayout
android:layout_width="350dp"
android:layout_height="70dp"
android:alpha="1">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.CardView
android:layout_width="350dp"
android:layout_height="70dp"
android:alpha="1"
android:visibility="visible"
app:cardCornerRadius="40dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="6dp"
android:alpha=".5"
android:background="@drawable/rectangle">
</LinearLayout>
</android.support.v7.widget.CardView>
</FrameLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="1"
android:gravity="fill"
android:text="Don’t let a mad world tell you that success is anything other than a successful present moment. "
android:textAllCaps="false"
android:textColor="@color/black"
android:textSize="13dp"
android:textStyle="bold" />
</FrameLayout>
</RelativeLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
答案 3 :(得分:0)
只需在colors.xml中定义具有低不透明性的颜色,并将其作为cardview的背景即可。
编辑示例代码
<color name="semiTransparentColor">#20ffffff</color>
在CardView上设置此属性
card_view:cardBackgroundColor="@color/semiTransparentColor"
这会给你像杯子一样的卡片。
注意:您赋予颜色的不透明度百分比将是卡片的不透明度