使用场景:使用WindowManager实现一个悬浮框,悬浮框在屏幕正中间,悬浮框上有一个textView用来显示文字,悬浮框的宽高和textView的宽高一致。换句话说WindowManager的区域就是textView的区域。
测试机器为android盒子。
很快就码好了代码如下:
final WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
mLayoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
mLayoutParams.format = PixelFormat.RGBA_8888;
mLayoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
mLayoutParams.width = WindowManager.LayoutParams.WRAP_CONTENT;
mLayoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
mLayoutParams.gravity = Gravity.CENTER;
接下来调用wm的addview()方法即可。
but,
运行后发现如果文字比较少,按照预期显示,即
但是当文字比较多的情况,按照预期应该是显示充满