对不起,如果这是一个非常简单的问题;我还是很多Android的新手,我正在学习!
我目前在drawable文件夹中指定了一个形状,用于黑色矩形,不透明度为60%,占据了所有的屏幕 - 它会创建一个带有色调的窗口"放在图片上时的效果。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tinting_rectangle">
<stroke android:width="2dp" android:color="#ff207d94" />
<padding android:left="2dp"
android:top="2dp"
android:right="2dp"
android:bottom="2dp" />
<corners android:radius="5dp" />
<solid android:color="#99000000" />
</shape>
然而,我的目标是创建一个圆形&#34;开放&#34;在这个着色中,就在矩形的中间。基本上,一个透明的椭圆形,让你可以看到那个地方的着色,看到下面的背景。
我曾经想过它会是这样的:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tinting_rectangle">
<stroke android:width="2dp" android:color="#ff207d94" />
<padding android:left="2dp"
android:top="2dp"
android:right="2dp"
android:bottom="2dp" />
<corners android:radius="5dp" />
<solid android:color="#99000000" />
</shape>
</item>
<item>
<shape android:shape="oval">
<solid android:color="#00FFFFFF" />
<padding
android:left="@dimen/tint_padding"
android:top="@dimen/tint_padding"
android:right="@dimen/tint_padding"
android:bottom="@dimen/tint_padding" />
</shape>
</item>
</layer-list>
然而,这并没有达到我所寻求的目标;我仍然只有一个60%不透明黑色的巨大实心矩形。
是否有人建议在XML中实现这一目标(如果可能的话,希望将其作为nodpi解决方案)? A&#34;有色窗口&#34;在中间有一个洞的矩形,可以看到它背后的任何东西。
谢谢!
编辑:附加:正如您在第二个示例中看到的那样,我使用静态填充将其置于矩形中心。显然这不会奏效。如果有人有一个很好的建议如何确保椭圆始终居中在矩形中,那也将非常感激!