将不透明度设置为形状

时间:2012-08-03 08:03:56

标签: android

我有这样的形状:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

<stroke
  android:width="1dp"
  android:color="#d5dce5" />

<corners android:radius="5dp" />

<gradient
  android:angle="270"
  android:centerColor="#e7eff8"
  android:endColor="#e9f0f8"
  android:startColor="#e0e8f1" />


</shape>

我在我的布局中包含了这样的内容:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

....

  <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/rectangle"
        android:layout_width="276dp"
        android:layout_height="wrap_content"
        android:background="@drawable/rectangle"
        android:layout_gravity="center_horizontal">
  </LinearLayout>

....

</LinearLayout>

如何将此形状的不透明度设置为50%?可能吗?

2 个答案:

答案 0 :(得分:3)

这是十六进制颜色的工作原理:

# + Transparent + Transparent + Red + Red + Green + Green + Blue + Blue.

所以让我们采取你的中心颜色:android:centerColor =“#e7eff8”

50%的FF = 7F。

最终结果=#7fe7eff8“

答案 1 :(得分:2)

您需要使用RGBA颜色而不是RGB:

http://en.wikipedia.org/wiki/RGBA_color_space

前两个是Alpha,第二个2是红色,第二个2是绿色,第二个是蓝色