我正在努力使一个半透明的布局,我正在尝试的是使红色部分透明,而不是强烈着色的部分。我可以设置这个,在一个背面放置一个黑色的层层,但我想使它半透明像红色部分将显示放在背面的图像我该怎么办? 这是我试过的xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="0.5dp"
android:color="@color/white" />
<corners
android:bottomLeftRadius="150dp"
android:bottomRightRadius="1000dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp" />
<padding
android:bottom="0dp"
android:left="0dp"
android:right="0dp"
android:top="0dp" />
<solid android:color="@color/red"
/>
答案 0 :(得分:1)
您可以将此形状绘制在图层列表drawable中:
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- black background -->
<item android:drawable="@android:color/black"/>
<!-- red shape on top of black background -->
<item android:drawable="@drawable/curved_shape"/>
</layer-list>
然后使用此图层列表drawable作为背景。
答案 1 :(得分:1)
所以我猜你已经设定了弯曲的形状。要使其透明,请使用其透明颜色而不是简单的red
颜色。尝试使用xml代码。
<gradient
android:angle="45"
android:endColor="#aaF00"
android:centerColor="#aaF00"
android:startColor="#aaF00" />
所以整个文件看起来像:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="0.5dp"
android:color="@color/white" />
<corners
android:bottomLeftRadius="150dp"
android:bottomRightRadius="1000dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp" />
<padding
android:bottom="0dp"
android:left="0dp"
android:right="0dp"
android:top="0dp" />
<gradient
android:angle="45"
android:endColor="#aa000000"
android:centerColor="#aa000000"
android:startColor="#aa000000" />
/>
我已经为你的红色添加了alpha。请参阅this link for more information about alpha scale.
您还可以访问this for exact information about colors and especially alpha scale to make color transparent.
希望这会对你有所帮助:)。
答案 2 :(得分:0)
只需将布局放在黑色背景的布局中即可。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:background="#000000">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:background="@drawable/your_shape">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
</LinearLayout>
</LinearLayout>