我想设置透明背景。也许20%的灰色 但我也希望背景的一小部分完全透明(布局中的矩形或圆形):
这可能吗?后来我希望矩形(或圆形)可移动和可缩放。
答案 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>
当您将可绘制的图形覆盖在图像上时,结果将如下所示:
通过在代码中动态创建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 />
标记来影响孔的一般形状。