0 0

关于Android WindowManager 中TextView不断赋值更新的问题0

package com.wujw;

import java.util.Random;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Gravity;
import android.view.WindowManager;
import android.view.WindowManager.LayoutParams;
import android.widget.TextView;

public class PaomadengActivity extends Activity {
	private final Random mGenerator = new Random();
	TextView tv;
	TextView tv1;
	WindowManager wm;
	 WindowManager.LayoutParams textViewparams1 = new WindowManager.LayoutParams();
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
     // TODO Auto-generated method stub
        textViewparams1.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT
     				| WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY;
     		// params1.width = WindowManager.LayoutParams.FILL_PARENT;
     		// params1.height = WindowManager.LayoutParams.WRAP_CONTENT;
     		textViewparams1.width = 341;
     		textViewparams1.height = 390;
     		textViewparams1.alpha = 100;
     		textViewparams1.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL
     				| LayoutParams.FLAG_NOT_FOCUSABLE;
     		textViewparams1.gravity = Gravity.LEFT | Gravity.TOP;
     		// 以屏幕左上角为原点,设置x、y初始值
     		textViewparams1.x = 0;
     		textViewparams1.y = 300;
        
        tv = new TextView(this);
        tv1=(TextView) findViewById(R.id.editText1);
        wm =  (WindowManager) getApplicationContext().getSystemService(
				WINDOW_SERVICE);
        wm.addView(tv, textViewparams1);
        new T().start();
    }
    
    private Handler mh = new Handler(){

		@Override
		public void handleMessage(Message msg) {
			// TODO Auto-generated method stub
			if(msg.what==0){
				tv.setText(mGenerator.nextInt()+"");
				tv1.setText(mGenerator.nextInt()+"");
			}
			super.handleMessage(msg);
		}
    	
    };
    
    public class T extends Thread{
    	@Override
		public void run() {
			// ......处理比较耗时的操作
			while (true) {
				// 处理完成后给handler发送消息
				Message msg = new Message();
				msg.what = 0;
				mh.sendMessage(msg);
				try {
					T.sleep(1000);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
    }
}


WindowManager 中的Textview不断更新会上次和本次的值一起重叠起来出来,在xml中就不会。求解

2012年8月02日 09:12
  • 大小: 13.4 KB

1个答案 按时间排序 按投票排序

0 0

怎么解决的啊?不停地更新确实是有些手机会重叠啊。大多不会

2013年11月19日 16:29

相关推荐

    android13 WindowManager-Shell.jar

    android13 WindowManager-Shell.jar

    Android利用WindowManager实现悬浮窗

    WindowManager是Android系统中管理窗口的一个关键组件,负责管理所有的窗口,包括应用窗口、子窗口和系统窗口。WindowManager继承了ViewManager接口,提供了三个方法来操作View:addView、updateViewLayout和...

    android 采用windowmanager屏蔽home键

    本文将详细介绍如何在Android应用中采用`WindowManager`来屏蔽Home键。 首先,我们需要创建一个悬浮窗口(Floating Window),这是`WindowManager`的主要用途之一。悬浮窗口可以覆盖在其他应用之上,我们可以通过...

    Android悬浮框权限判断WindowManager

    `WindowManager`是Android SDK中的一个关键组件,它负责管理Android设备上的窗口。开发者可以利用`WindowManager`来添加、更新或删除窗口,包括创建悬浮框。以下是对`WindowManager`及悬浮框权限的详细说明: 1. **...

    android利用windowmanager的伸缩式窗口

    在Android开发中,WindowManager是一个非常重要的服务,它允许开发者将视图添加到系统的顶级窗口层次结构中,实现各种自定义的界面效果。本篇主要探讨如何利用WindowManager的`addView()`方法来创建一个可伸缩的弹出...

    Android 利用WindowManager实现悬浮窗 demo

    在Android开发中,实现类似QQ视频那样的悬浮窗功能,需要用到`WindowManager`接口。`WindowManager`是Android系统服务之一,它允许应用管理窗口并控制它们在屏幕上的位置和显示方式。本篇将深入探讨如何利用`...

    Android悬浮窗实现 使用WindowManager Demo

    首先,我们要理解`WindowManager`是Android系统提供的一个接口,它允许应用程序与窗口管理器进行交互,添加、删除和更新窗口。悬浮窗实际上就是一种特殊的窗口类型,通常称为`TYPE_SYSTEM_ALERT`或`TYPE_TOAST`。 ...

    android surfaceview 悬浮窗圆角 windowmanager

    在Android开发中,`SurfaceView`是一个特殊类型的`View`,它允许开发者在应用程序中创建一个独立于应用程序主线程的渲染表面。`SurfaceView`通常用于处理高性能的图形或者视频播放,因为它可以在单独的线程中进行...

    Android WindowManager悬浮显示歌词

    一个WindowManager悬浮窗,悬浮显示歌词效果。WindowManager背景设置为了透明色,显示的WindowManager关闭启动它的Activity回到主界面仍然有效。仅供参考............

    android浮动窗口实现级点击消失例子

    在Android开发中,浮动窗口(通常称为悬浮窗或者小部件)是一种常见的功能,它可以在主屏幕或其他应用之上显示内容,为用户提供便捷的操作或信息展示。本教程将详细讲解如何利用`WindowManager`来创建一个浮动窗口,...

    简单模仿360悬浮球 手动拖动悬浮窗效果DEMO WindowManager Demo

    在Android开发中,实现类似360悬浮球的效果是一项常见的需求,这主要涉及到对`WindowManager`类的使用,以及自定义View的交互处理。在这个DEMO中,开发者创建了一个可手动拖动的悬浮窗,其中视图是一个`TextView`,...

    android利用windowmanager实现悬浮窗

    核心在于WindowManager,通过它创建一个LayoutParams对象,然后利用该对象设置flag、gravity、xy坐标点。它提供三个方法:addView()、updateLayout()、removeView()。分别对应是添加view、更新view、移除view。主要...

    WindowManager属性详解

    WindowManager属性详解:WindowManager.LayoutParams 是 WindowManager 接口的嵌套类;继承于 ViewGroup.LayoutParams 。 它的内容十分丰富。其实WindowManager.java的主要内容就是由这个类定义构成。

    WindowManager弹窗

    WindowManager是Android系统中的一个重要组件,它允许开发者在应用程序中添加、移除或者更新视图到系统的窗口层次结构。在Android应用开发中,WindowManager常用于实现浮动小部件(如通知、对话框)或者自定义的系统...

    Android 可移动悬浮窗口 WindowManager

    在Android开发中,可移动的悬浮窗口(通常称为Float View或Floating Window)是一种常见的功能,它可以在用户使用其他应用时持续显示在屏幕上方,提供便捷的交互或信息展示。这种技术主要通过Android的`...

    Android自定义Toast之WindowManager

    Android 自定义 Toast 之 WindowManager 是 Android 开发中的一种常见技术,用于在应用程序中显示自定义的 Toast 消息。本文将详细介绍 Android 自定义 Toast 之 WindowManager 的相关知识点,涵盖了 WindowManager ...

    windowmanager

    在Android系统中,WindowManager是负责管理窗口的重要组件,它允许开发者将视图添加到屏幕上的窗口层次结构中。理解Window和WindowManager的工作原理对于深入Android应用开发至关重要。本文将详细探讨这两个概念及其...

    Android使用WindowManager制作一个可拖动的控件

    在Android开发中,WindowManager是一个重要的系统服务,它允许我们添加、移除或者更新在窗口管理器层次结构中的视图。这个服务使得开发者能够创建浮动窗口(如对话框、通知等)或者在屏幕顶部显示一些状态信息。在...

    windowmanager对话框

    WindowManager对话框在Android开发中是一种常见的用户交互方式,它允许开发者在屏幕的任何位置显示自定义视图,包括警告、提示或者简单的信息展示。在Android 6.0(API级别23)及以上版本,系统引入了运行时权限管理...

    深入理解Android中的Window和WindowManager

    创建一个Window,需要通过WindowManager即可完成,WindowManager是外界访问Window的入口,Window具体实现位于WindowManagerService中,WindowManager和WindowManagerService的交互是一个IPC的过程。Android中,所有...

Global site tag (gtag.js) - Google Analytics