android 实现透明activity点击穿透
时间: 2023-09-03 10:02:14 浏览: 620
在Android中实现透明Activity的点击穿透,可以通过以下步骤进行操作:
1. 在Manifest文件中声明透明的Activity:
```xml
<activity android:name=".TransparentActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
</activity>
```
2. 创建TransparentActivity类并继承自Activity,并在onCreate方法中设置Activity的透明属性:
```java
public class TransparentActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 设置Activity透明
getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH, WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH);
// 设置布局等其他操作
setContentView(R.layout.activity_transparent);
}
}
```
3. 在TransparentActivity的布局文件中,可以添加其他View元素,以便显示其他内容。
```xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This is a transparent activity"
android:textSize="24sp"
android:layout_centerInParent="true"/>
<!--其他View元素-->
</RelativeLayout>
```
通过以上步骤,我们可以创建一个透明的Activity,并且该Activity不会拦截点击事件,点击事件会传递到下方的View,从而实现了透明Activity的点击穿透效果。
阅读全文