android顶部悬浮
⑴ 如何实现Android悬浮在最上层的提示框
总布局使用framelayout
⑵ Android桌面悬浮窗效果怎么实现
可以根据项目需要改变其相应布局。
package com.zk.me;
import java.util.List;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ResolveInfo;
import android.os.Bundle;
import android.view.Gravity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
private WindowManager windowManager = null;
private WindowManager.LayoutParams windowManagerParams = null;
private MyFloatView floatView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);// 取消标题栏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);// 全屏
setContentView(R.layout.activity_main);
createView();
}
public void onDestroy() {
super.onDestroy();
// 在程序退出(Activity销毁)时销毁悬浮窗口
}
private void createView() {
floatView = new MyFloatView(getApplicationContext());
floatView.setOnClickListener(this);
ImageView view = new ImageView(this);
view.setImageResource(R.drawable.ic_launcher);
floatView.addView(view); // 这里简单的用自带的icon来做演示
windowManager = (WindowManager) getApplicationContext()
.getSystemService("window");
// 设置LayoutParams(全局变量)相关参数
windowManagerParams = ((FloatApplication) getApplication())
.getWindowParams();
windowManagerParams.type = 2003; // 设置window type
// windowManagerParams.format = PixelFormat.RGBA_8888; // 设置图片格式,效果为背景透明
// 设置Window flag
windowManagerParams.flags = 40;
windowManagerParams.format = 1;
// 调整悬浮窗口至左上角,便于调整坐标
windowManagerParams.gravity = Gravity.LEFT | Gravity.TOP;
// 以屏幕左上角为原点,设置x、y初始值
windowManagerParams.x = 0;
windowManagerParams.y = 0;
// 设置悬浮窗口长宽数据
windowManagerParams.width = 40;
windowManagerParams.height = 40;
// 显示myFloatView图像
windowManager.addView(floatView, windowManagerParams);
}
public void onClick(View v) {
Toast.makeText(this, "Clicked", Toast.LENGTH_SHORT).show();
openCLD("com.jovian.android.pqgl", getApplicationContext());
}
public static void openCLD(String packageName, Context context) {// 打开移动警务应用
PackageManager packageManager = context.getPackageManager();
PackageInfo pi = null;
try {
pi = packageManager.getPackageInfo(packageName, 0);
} catch (NameNotFoundException e) {
}
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent.setPackage(packageName);
List<ResolveInfo> apps = packageManager.queryIntentActivities(
resolveIntent, 0);
ResolveInfo resolveinfo = apps.iterator().next();
if (resolveinfo != null) {
String className = resolveinfo.activityInfo.name;
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ComponentName cn = new ComponentName(packageName, className);
intent.setComponent(cn);
context.startActivity(intent);
}
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onRestoreInstanceState(savedInstanceState);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
package com.zk.me;
import android.content.Context;
import android.graphics.Rect;
import android.util.Log;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager;
import android.widget.LinearLayout;
public class MyFloatView extends LinearLayout {
private float mTouchX;
private float mTouchY;
private float x;
private float y;
private float mStartX;
private float mStartY;
private OnClickListener mClickListener;
private WindowManager windowManager = (WindowManager) getContext()
.getApplicationContext().getSystemService("window");
// 此windowManagerParams变量为获取的全局变量,用以保存悬浮窗口的属性
private WindowManager.LayoutParams windowManagerParams = ((FloatApplication) getContext()
.getApplicationContext()).getWindowParams();
public MyFloatView(Context context) {
super(context);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// 获取到状态栏的高度
Rect frame = new Rect();
getWindowVisibleDisplayFrame(frame);
int statusBarHeight = frame.top;
System.out.println("statusBarHeight:" + statusBarHeight);
// 获取相对屏幕的坐标,即以屏幕左上角为原点
x = event.getRawX();
y = event.getRawY() - statusBarHeight; // statusBarHeight是系统状态栏的高度
Log.i("tag", "currX" + x + "====currY" + y);
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: // 捕获手指触摸按下动作
// 获取相对View的坐标,即以此View左上角为原点
mTouchX = event.getX();
mTouchY = event.getY();
mStartX = x;
mStartY = y;
Log.i("tag", "startX" + mTouchX + "====startY" + mTouchY);
break;
case MotionEvent.ACTION_MOVE: // 捕获手指触摸移动动作
updateViewPosition();
break;
case MotionEvent.ACTION_UP: // 捕获手指触摸离开动作
updateViewPosition();
mTouchX = mTouchY = 0;
if ((x - mStartX) < 5 && (y - mStartY) < 5) {
if (mClickListener != null) {
mClickListener.onClick(this);
}
}
break;
}
return true;
}
@Override
public void setOnClickListener(OnClickListener l) {
this.mClickListener = l;
}
private void updateViewPosition() {
// 更新浮动窗口位置参数
windowManagerParams.x = (int) (x - mTouchX);
windowManagerParams.y = (int) (y - mTouchY);
windowManager.updateViewLayout(this, windowManagerParams); // 刷新显示
}
}
⑶ 如何开启 android 手机悬浮框权限
是否给权限,是否开悬浮窗? 请在手机系统设置--应用软件--找到腾讯手机管家,给予管家悬浮窗权限。 打开腾讯手机管家——个人中心——悬浮窗——打开小火箭 在手机桌面会有一个显示内存比例的空心圆,下拉空心圆图形到手机桌面底端,会出现一个“小火箭”形状的图案,你拖 住然后释放之后,小火箭会腾空而起发射进行清理内存为手机加速。 成功发射火箭后,会弹出提示框,提示所结束的进程以及此次发射所释放的运行内存。
⑷ 如何在Android中实现悬浮Activity
在Android中实现悬浮Activity可以通过以下方式完成:
1、将需要悬浮的Activity设置dialog的样式主题,定义样式文件如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="FullHeightDialog" parent="android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
</resources>
2、在在清单文件中给activity设置theme
<activity
android:name=".MainActivity"
android:configChanges="locale|keyboardHidden|orientation"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/FullHeightDialog"
</activity>
⑸ 安卓悬浮球怎么设置
若使用的是vivo手机,进入设置--快捷与辅助/更多设置--悬浮球中,将悬浮球开启即可。
关闭的方法:进入设置--快捷与辅助/更多设置--悬浮球中,将悬浮球关闭即可。
注:目前支持悬浮球功能的机型有:X60t、iQOO Z3、iQOO Neo5、S9/S9e、Y31s标准版、S7t、iQOO 7、Y31s、X60/X60 Pro/X60 Pro+、iQOO U3、Y30标准版、Y52s、iQOO U1x、S7e、Y3s、Y30、Y73s、iQOO 5系列、S7、iQOO U1、iQOO Z1x、X50系列、Y70s、iQOO Z1、iQOO Neo3、Y50、S6、NEX 3S、Z6、iQOO 3、X30 Pro/X30、iQOO Neo 855竞速版、U3、Y9s、Z5i、S5、Y5s、iQOO Neo 855版、U3x、NEX 3、Z5/Z5x、Y7s、X27/X27Pro、S1/S1Pro、Z3x、iQOO Pro/iQOO/iQOO Neo、NEX双屏版、Y81s、Y70、X23、Y97、Y91、NEX/NEX旗舰版、Z1、Z3i、U1、X21/X21i、Y71、Y85、X20、Y79、Y75s、Y83、Y3、X20Plus(需升级至最新版本)。
可进入手机设置--快捷与辅助/更多设置--查看是否有“悬浮球”功能。
⑹ 安卓的悬浮球怎么设置的
若使用的是vivo手机,进入设置--快捷与辅助/更多设置--悬浮球中,将悬浮球开启即可。
关闭的方法:进入设置--快捷与辅助/更多设置--悬浮球中,将悬浮球关闭即可。
注:目前支持悬浮球功能的机型有:X60t、iQOO Z3、iQOO Neo5、S9/S9e、Y31s标准版、S7t、iQOO 7、Y31s、X60/X60 Pro/X60 Pro+、iQOO U3、Y30标准版、Y52s、iQOO U1x、S7e、Y3s、Y30、Y73s、iQOO 5系列、S7、iQOO U1、iQOO Z1x、X50系列、Y70s、iQOO Z1、iQOO Neo3、Y50、S6、NEX 3S、Z6、iQOO 3、X30 Pro/X30、iQOO Neo 855竞速版、U3、Y9s、Z5i、S5、Y5s、iQOO Neo 855版、U3x、NEX 3、Z5/Z5x、Y7s、X27/X27Pro、S1/S1Pro、Z3x、iQOO Pro/iQOO/iQOO Neo、NEX双屏版、Y81s、Y70、X23、Y97、Y91、NEX/NEX旗舰版、Z1、Z3i、U1、X21/X21i、Y71、Y85、X20、Y79、Y75s、Y83、Y3、X20Plus(需升级至最新版本)。
可进入手机设置--快捷与辅助/更多设置--查看是否有“悬浮球”功能。
⑺ android 悬浮窗
这个悬浮窗应该是有的手机有有的手机没有吧,这应该和系统有关系
⑻ 安卓悬浮球怎么设置
进入手机设置——应用程序——酷管家——取消悬浮窗
然后手机上可以使用一个腾讯手机管家来管理和保护的
它可以帮助手机加速和优化,安全保护,腾讯手机管家作为一款智能机的软件管理和手机安全管理的先锋软件,可以为我们提供想要的软件和游戏,可以卸载手机软件,root后可以卸载预装软件,更可以修改手机软件的权限,防止软件游戏自己发信息打电话等等,在手机安全方面,腾讯手机管家作用很大,提供了全面扫描,优化加速还有流量监控,病毒查杀,手机防等功能。
⑼ 安卓的悬浮球怎么设置的啊
系统设置、应用、找到要求开启悬浮窗的应用、开启、