Android 显示带有孔的视图

Android 显示带有孔的视图,android,Android,我正在尝试为我的活动创建一个视图作为教程。我只需要显示一些带有半透明背景的文本,留下一个透明的“洞”来查看原始活动的背景按钮。我可以将框架布局与两个不同的子布局(原始布局和教程布局)一起使用,并且可以设置教程布局的可见/不可见。问题是:我不知道如何在教程子布局中创建“孔”。我该怎么做?要创建“孔”或圆形视图,您需要创建一个可绘制视图 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schem

我正在尝试为我的活动创建一个视图作为教程。我只需要显示一些带有半透明背景的文本,留下一个透明的“洞”来查看原始活动的背景按钮。我可以将框架布局与两个不同的子布局(原始布局和教程布局)一起使用,并且可以设置教程布局的可见/不可见。问题是:我不知道如何在教程子布局中创建“孔”。我该怎么做?

要创建“孔”或圆形视图,您需要创建一个可绘制视图

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

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

</shape>

并在所需的位置和大小创建一个imageview,并设置类似于可绘制的背景

您还可以使用#00000000 intead@android:color/transparent


或者使用github上的库

背景色应透明、不透明 我希望它对你有用

circle_background.xml文件

<shape
 android:shape="ring"
 android:useLevel="true"
 xmlns:android="http://schemas.android.com/apk/res/android">
        <solid android:color="@color/blue_pressed" />
</shape>

view_background.xml

<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:background="@drawable/circle_background"
>
//add more views if u wanto
</LinearLayout>

//如果您想要,请添加更多视图

如果你能通过虚拟设计来解释,那会更好。@NoorNawaz我正在尝试做类似的事情:好的,但是如果我用那个背景创建一个imageview,我会看到线性布局的半透明背景。@greywolf82我编辑我的答案,如果透明ins不完全透明,请使用#00000000。问题是我将此图像视图放在背景为半透明的relativelayout或linearlayout内。使用您的方法,imageview会创建一个“孔”,这是真的,但孔背景是半透明的relativelayout背景!对于完整的展示,你需要绘制你的活动并重新绘制,你需要使用画布,最好使用一个库来完成。你的回答是无用的,而不是一个以圆环为背景的线性布局??如何用这种方法将“孔”放在正确的位置?您可以根据需要定制圆形背景绘图。你可以把它弄得一团糟。然后,您可以在视图中使用该可绘制图形作为背景。