利用WindowManager添加和删除自定义视图

简介: // 添加自定义视图 // 自定义显示控件,注意要指定其窗口参数。 private void showMessage(String name, String address) { WindowManager.
// 添加自定义视图
	// 自定义显示控件,注意要指定其窗口参数。
	private void showMessage(String name, String address) {
		WindowManager.LayoutParams params = new WindowManager.LayoutParams();
		params.height = WindowManager.LayoutParams.WRAP_CONTENT;
		params.width = WindowManager.LayoutParams.WRAP_CONTENT;
		params.y += 20;
		params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE// 不让其获得焦点
				| WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE// 不让其可触摸
				| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;// 使其保持高亮显示
		params.format = PixelFormat.TRANSLUCENT;
		params.type = WindowManager.LayoutParams.TYPE_TOAST;
		LayoutInflater messageInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
		messageview = messageInflater.inflate(R.layout.showaddress, null);
		TextView nameTextView = (TextView) messageview.findViewById(R.id.nameTextView);
		TextView addressTextView = (TextView) messageview.findViewById(R.id.addressTextView);
		nameTextView.setText(name);
		addressTextView.setText(address);
		// 利用窗口管理器来添加控件。参数:控件,控件的设置参数
		windowManager.addView(messageview, params);
	}

	// 删除自定义视图
	private void removeView() {
		if (messageview != null) {
			windowManager.removeView(messageview);
			messageview = null;
		}
	}
	

相关文章
|
Android开发
Android 获取include标签中的控件属性并设置事件
Android 获取include标签中的控件属性并设置事件
192 0
|
Android开发
Android使用绝对布局AbsoluteLayout动态添加控件
Android使用绝对布局AbsoluteLayout动态添加控件
183 0
|
Android开发 容器 API
Android如何给无法更改继承关系的Activity更换ActionBar(setContentView方法实战)
前言: 通常我们有时候会直接使用ADT工具直接新建一个Activity页,而这个Activity我们又无法更改它的父类,那遇到这种情况该如何处理呢?其实很简单,好,看如何来解决这个问题: 先来看看这个问题出现的情况,我们以SettingsActivity举例: 上图是Setting...
983 1