android悬浮窗实现代码怎么写
导读:要实现Android悬浮窗,可以按照以下步骤进行编写代码: 在AndroidManifest.xml文件中添加悬浮窗权限: <uses-permission android:name="android.permission.SYS...
要实现Android悬浮窗,可以按照以下步骤进行编写代码:
- 在AndroidManifest.xml文件中添加悬浮窗权限:
<
uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
- 创建一个Service类来实现悬浮窗功能,例如FloatWindowService:
public class FloatWindowService extends Service {
private WindowManager mWindowManager;
private View mFloatView;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
mFloatView = LayoutInflater.from(this).inflate(R.layout.layout_float_window, null);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT
);
params.gravity = Gravity.LEFT | Gravity.TOP;
params.x = 0;
params.y = 0;
mWindowManager.addView(mFloatView, params);
}
@Override
public void onDestroy() {
super.onDestroy();
if (mWindowManager != null &
&
mFloatView != null) {
mWindowManager.removeView(mFloatView);
}
}
}
- 在res/layout文件夹下创建一个布局文件layout_float_window.xml,用于定义悬浮窗的布局,例如:
<
?xml version="1.0" encoding="utf-8"?>
<
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:orientation="vertical">
<
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Floating Window"
android:textSize="16sp"
android:textColor="@android:color/black" />
<
/LinearLayout>
- 在MainActivity中启动FloatWindowService:
Intent intent = new Intent(this, FloatWindowService.class);
startService(intent);
这样就可以实现一个简单的Android悬浮窗功能了。当然,实际应用中可能还需要添加一些其他功能,比如拖动悬浮窗、点击事件处理等。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: android悬浮窗实现代码怎么写
本文地址: https://pptw.com/jishu/680469.html