【发布时间】:2016-08-14 07:20:57
【问题描述】:
我正在尝试在我的应用中创建以下设计。
它叠加在主 UI 之上。尝试使用主 UI 顶部的布局创建它,其背景是在 XML 中创建的半透明形状。但是,即使在阅读了多个帖子之后,我也无法弄清楚。
我尝试了以下方法,但没有奏效。创建一个具有 200dp 笔划的环形并将其设置为图像视图的源,然后将 scaletype 设置为 centerCrop,但该形状不会像位图那样缩放。
形状 XML:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadius="0dp"
android:shape="ring"
android:thicknessRatio="2"
android:useLevel="false" >
<solid android:color="@android:color/transparent" />
<stroke
android:width="200dp"
android:color="#80000000" />
</shape>
叠加布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/onboarding_background"
android:scaleType="centerCrop"/>
</RelativeLayout>
任何有关如何执行此操作或代码的指示都会非常有帮助。
【问题讨论】:
-
换句话说,你想要
a circular hole cutout at the center of a screen-wide semitransparent rectangle -
您可以轻松地为此使用矢量(这是另一种解决方案,以防 xml 不是强制性的)
-
你想做点半径周围点地图这样的事情对吗? developers.google.com/android/reference/com/google/android/gms/…希望对您有所帮助!它可能与stackoverflow.com/questions/13991301/… 重复
-
嘿@BobMalooga,感谢您的编辑,我显然无法直接添加图片,因为我需要至少 10 分。我想我应该回答一些问题。
-
@MathieudeBrito,它只是我作为开发人员(即没有设计师)工作,我什至不知道基本的照片,这就是我试图通过使用 xml 来获得的原因。这也减少了一些 apk 大小。
标签: android porter-duff