当前位置: 首页 > news >正文

android WindowManager的简单使用

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /><uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" /><applicationandroid:allowBackup="true"android:dataExtractionRules="@xml/data_extraction_rules"android:fullBackupContent="@xml/backup_rules"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.App0"tools:targetApi="31"><activityandroid:name=".MainActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>
package com.koala.app0;import androidx.appcompat.app.AppCompatActivity;import android.content.Context;
import android.graphics.PixelFormat;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.ImageView;public class MainActivity extends AppCompatActivity {private static Context context;private Button button;private View imageView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);context = getApplication().getApplicationContext();button = findViewById(R.id.btn1);imageView = LayoutInflater.from(context).inflate(R.layout.png,null);button.setOnClickListener(listener);}private View.OnClickListener listener =  new View.OnClickListener(){@Overridepublic void onClick(View v) {WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
//            layoutParams.format = PixelFormat.RGBA_8888;layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
//            layoutParams.width = 200;
//            layoutParams.height = 200;//            layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;//            layoutParams.gravity = Gravity.BOTTOM | Gravity.LEFT;layoutParams.x = 30;layoutParams.y = 40;WindowManager windowManager = getWindowManager();windowManager.addView(imageView,layoutParams);}};public static Context getContext(){return context;}
}
http://www.lryc.cn/news/152021.html

相关文章:

  • Spark_Spark比mapreduce快的原因
  • el-upload调用内部方法删除文件
  • 无涯教程-JavaScript - CUBEKPIMEMBER函数
  • 代码随想录Day_52打卡
  • 692. 前K个高频单词
  • 介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用
  • C++:构建一个二叉树的代码
  • iOS 设置下载部分文件,如何获取完整文件的大小
  • 如何助力金融贷款企业实现精准营销获客
  • html中的换行(\n)或回车(\r)符号不起作用的解决办法、br、white、space、pre、line
  • SpringBoot+MyBatisPlus+MySql+vue2+elementUi的案例、java访问数据库服务、java提供接口服务
  • 设计模式入门(二)观察者模式
  • 列化复杂的xml对应的类
  • 什么是软件开发生命周期(SDLC)?
  • 计算机视觉中常用的角点检测算法及其作用
  • css3英文文字换行,超过两行...展示
  • 查各种金属非金属材料的物性参数方法
  • 【数据库】查询PostgreSQL中所有表逻辑外键
  • 【Kubernetes理论篇】2023年最新CKA考题+解析
  • 【Linux】目录结构、路径
  • Java-集合框架-List,Set,Map,队列
  • 第一章_线程基础知识
  • linux(centos7)定时关机解决方案
  • reactnative笔记
  • 软件架构模式+系统架构
  • SQL 语句学习总结:
  • 【Linux】简单的小程序:进度条
  • Ansible之playbooks剧本
  • 在云原生时代,构建高效的大数据存储与分析平台
  • 第六章,线性变换,1-线性变换、表示矩阵、线性算子