我有这样的活动
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
tools:context=".WaitingActivity">
</FrameLayout>
,java代码是
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_waiting);
getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
}
此活动使用对话框主题,因此整个屏幕将为70-80%透明灰色。我需要在中心有一个完全透明的圆圈,所以它背后的活动清楚地显示出来。我怎样才能做到这一点?
答案 0 :(得分:1)
您可能对PortDuff.Mode感兴趣。它可用于为重叠视图设置不同的传输模式。 XOR属性可用于在全屏布局中戳一个圆孔,以便下面的内容变得可见。
https://developer.android.com/reference/android/graphics/PorterDuff.Mode.html