布局背景部分透明

时间:2015-02-28 16:36:07

标签: android

我想设置透明背景。也许20%的灰色 但我也希望背景的一小部分完全透明(布局中的矩形或圆形):

enter image description here

这可能吗?后来我希望矩形(或圆形)可移动和可缩放。

1 个答案:

答案 0 :(得分:1)

使用这样的自定义绘图很容易实现:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:innerRadius="0dp"
       android:shape="rectangle"
       android:thicknessRatio="1.9"
       android:useLevel="false">

    <solid android:color="@android:color/transparent"/>

    <stroke
        android:width="125dp"
        android:color="#CC000000"/>
</shape>

当您将可绘制的图形覆盖在图像上时,结果将如下所示:

enter image description here

通过在代码中动态创建drawable,您可以在运行时调整它。例如:

ShapeDrawable drawable = new ShapeDrawable(new RectShape());
drawable.getPaint().setColor(0xCC000000);
drawable.getPaint().setStyle(Paint.Style.STROKE);
drawable.getPaint().setStrokeWidth(dpToPixel(125.0f));
someView.setBackground(drawable);

您可以通过组合LayerDrawable中的多个图层来影响中间孔的形状。

您还可以通过在自定义drawable中设置android:shape元素的<shape />标记来影响孔的一般形状。