首页主机资讯android悬浮窗实现代码怎么写

android悬浮窗实现代码怎么写

时间2024-06-12 04:32:04发布访客分类主机资讯浏览904
导读:要实现Android悬浮窗,可以按照以下步骤进行编写代码: 在AndroidManifest.xml文件中添加悬浮窗权限: <uses-permission android:name="android.permission.SYS...

要实现Android悬浮窗,可以按照以下步骤进行编写代码:

  1. 在AndroidManifest.xml文件中添加悬浮窗权限:
<
    uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

  1. 创建一个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);

        }

    }

}
    
  1. 在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>
    
  1. 在MainActivity中启动FloatWindowService:
Intent intent = new Intent(this, FloatWindowService.class);
    
startService(intent);
    

这样就可以实现一个简单的Android悬浮窗功能了。当然,实际应用中可能还需要添加一些其他功能,比如拖动悬浮窗、点击事件处理等。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: android悬浮窗实现代码怎么写
本文地址: https://pptw.com/jishu/680469.html
为什么国外vps的价格比国内vps便宜? 如何租用新加坡vps?

游客 回复需填写必要信息