`
大头K
  • 浏览: 186866 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

popWindowdemo

阅读更多
xml文件
1.main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/white"
    android:orientation="horizontal" 
   >

    <LinearLayout
        android:id="@+id/title_layout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:background="@drawable/bg"
         android:gravity="center">
        <TextView
            android:id="@+id/title"
            android:text="@string/str_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:singleLine="true"
            android:textSize="@dimen/size_title" 
            android:textColor="@android:color/white"/>

        <ImageView
            android:id="@+id/arrow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginLeft="5dip"
            android:background="@drawable/icon_arrow_down"
       />
    </LinearLayout>

</LinearLayout>

2.pop.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:gravity="center"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<!--   
	<ListView
		android:id="@+id/pop_list"
    	android:layout_width="fill_parent" 
    	android:layout_height="wrap_content"
		android:dividerHeight="2dip" 
		android:cacheColorHint="#00000000"
    	></ListView>
  --> 
  <TextView 
      	android:layout_width="fill_parent" 
    	android:layout_height="wrap_content"
    	android:textColor="#000000"
    	android:text="城市:"
      />
  <EditText 
      	android:layout_width="fill_parent" 
    	android:layout_height="wrap_content"
    	android:lines="1"
      />
   <TextView 
      	android:layout_width="fill_parent" 
    	android:layout_height="wrap_content"
    	android:textColor="#000000"
    	android:text="地点:"
      />
  <EditText 
      	android:layout_width="fill_parent" 
    	android:layout_height="wrap_content"
    	android:lines="1"
      />
  <Button 
      	android:layout_width="wrap_content" 
    	android:layout_height="wrap_content"
    	android:text=" 确 定 "
      />
  
</LinearLayout>

3.(activity)PopwindowActivity.java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.PopupWindow.OnDismissListener;
import android.widget.SimpleAdapter;
import android.widget.Toast;

public class PopwindowActivity extends Activity
{

	private ImageView arrow;
	private boolean isOpenPop = false;
	private PopupWindow window;
	private ListView list;
	private LinearLayout title_layout;
	public static final String KEY = "key";
	ArrayList<Map<String, Object>> items = new ArrayList<Map<String, Object>>();
	Context mContext;

	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		mContext = this;
		arrow = (ImageView) findViewById(R.id.arrow);
		title_layout = (LinearLayout) findViewById(R.id.title_layout);
		title_layout.setOnClickListener(new OnClickListener()
		{

			@Override
			public void onClick(View v)
			{
				// TODO Auto-generated method stub

				changPopState(v);

			}
		});
	}

	/**
	 * 更改Pop状态
	 * */

	public void changPopState(View v)
	{

		isOpenPop = !isOpenPop;
		if (isOpenPop)
		{
			arrow.setBackgroundResource(R.drawable.icon_arrow_up);
			popAwindow(v);

		} else
		{
			arrow.setBackgroundResource(R.drawable.icon_arrow_down);
			if (window != null)
			{
				window.dismiss();
			}
		}
	}

	private void popAwindow(View parent)
	{
		if (window == null)
		{
			LayoutInflater lay = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			View v = lay.inflate(R.layout.pop, null);
			
			window = new PopupWindow(v, 260, 300);
			int x = (int) getResources().getDimension(R.dimen.pop_x);
			int y = (int) getResources().getDimension(R.dimen.pop_y);
			window = new PopupWindow(v, x, y);
		}
		window.setBackgroundDrawable(getResources().getDrawable(
				R.drawable.pop_bg));
		window.setFocusable(true);
		window.setOutsideTouchable(false);
		window.setOnDismissListener(new OnDismissListener()
		{

			@Override
			public void onDismiss()
			{
				// TODO Auto-generated method stub
				isOpenPop = false;
				arrow.setBackgroundResource(R.drawable.icon_arrow_down);
			}
		});
		window.update();
		window.showAtLocation(parent, Gravity.CENTER_HORIZONTAL | Gravity.TOP,
				0, (int) getResources().getDimension(R.dimen.pop_layout_y));

	}
}
  • 大小: 20 KB
分享到:
评论

相关推荐

    popwindow DEMO

    popwindow可以在你指定的地方弹出一个框来显示你想要的内容,貌似系统的spinner也是用的popwind来实现的(其中的一种方式),所以 想自定义一个控制更容易的下拉框用popwindow比较简单好实现

    popWindowdemo.rar

    `popWindowdemo`项目是一个很好的学习资源,它展示了如何在实际应用中结合`PopupWindow`和`Toast`实现交互功能。通过对该项目的源码分析和实践,开发者可以深入理解`PopWindow`的工作原理,以及如何灵活运用它来满足...

    PopWindowDemo.zip

    在"PopWindowDemo.zip"这个压缩包中,我们可以找到一个关于如何使用PopupWindow进行实战演练的示例项目。接下来,我们将深入探讨PopupWindow的基本概念、用法以及在实际应用中的常见实践。 首先,理解PopupWindow的...

    popwindowdemo 代码

    本示例"popwindowdemo"旨在帮助初学者理解并掌握`PopupWindow`的使用。 `PopupWindow` 是一个可以显示在任意View上方的浮动窗口,它可以包含任何布局,并且具有灵活的展示方式。创建`PopupWindow`的基本步骤包括...

    PopWindowDemo

    在`PopWindowDemo`项目中,我们可以看到这两个组件的使用示例。开发者可能会结合两者的优势,实现更复杂的功能,比如创建一个可以在Activity中弹出,但又能在屏幕任意位置移动的悬浮窗。在学习这个项目时,你可以...

    安卓popupwindow相关-收藏的Popwindow弹出的小demo.rar

    本压缩包文件“安卓popupwindow相关-收藏的Popwindow弹出的小demo.rar”包含了一些关于PopupWindow使用的示例代码,尽管没有详细验证每个示例的可行性,但它们提供了很好的参考和学习素材。 首先,PopupWindow的...

    android下popwindow的使用

    本文将详细介绍如何在Android应用中使用PopupWindow,并结合示例代码`PopWindowDemo`进行解析。 首先,我们需要了解PopupWindow的基本概念。PopupWindow是Android提供的一个类,用于创建浮动窗口。它可以显示在屏幕...

    Android PopupWindow Demo

    在本示例"Android PopupWindow Demo"中,我们将探讨如何利用`PopupWindow`来模仿QQ底部菜单栏和百度地图的选择视图,同时还会涉及到动画效果的实现。 `PopupWindow`的创建首先需要一个视图,这个视图可以是自定义...

    popwindow的简单封装

    在`PopWindowDemo`项目中,你可以找到完整的示例代码,包括`PopWindowHelper`的实现以及如何在活动中使用封装好的`PopupWindow`。通过这个例子,你可以学习到如何灵活地使用和封装`PopupWindow`,以满足各种场景下的...

    PopupWindow

    PopWindowDemo可能包含了一个简单的PopupWindow实现示例,包括布局文件(popup_window.xml)、PopupWindow的初始化和显示代码。查看该项目源码可以帮助理解上述概念。 总的来说,PopupWindow是一个强大且灵活的...

    Android popupwindow 示例程序一

    在PopwindowDemo这个项目中,开发者可以详细查看源代码,学习具体的实现细节,包括如何定义布局、如何实例化PopupWindow、如何设置显示位置以及如何处理内部控件的监听事件。这是一个很好的实战教程,对于想掌握...

    一个popwindow的小demo

    本教程将通过一个名为“一个popwindow的小demo”的实例,探讨如何实现一个实用的PopWindow,该PopWindow用于展示中国所有省份并允许用户选择。 首先,我们来理解PopWindow的基本概念。PopWindow是Android系统中的...

    popwindow\三维悬浮图标、侧滑简单Demo

    总的来说,"popwindow\三维悬浮图标、侧滑简单Demo"这个项目涵盖了Android UI设计和交互实现的关键部分。通过学习和实践,开发者可以提升在Android应用开发中的用户体验设计能力,以及对自定义组件和手势识别的掌握...

    js popwindow

    在网页设计中,"popwindow"通常指的是弹出窗口,这是一种常见的用户界面交互方式,用于显示额外的信息或者进行特定操作。 在JavaScript中实现弹出窗口,主要涉及到`window.open()`函数。这个函数可以打开一个新的...

    Android应用源码之PopWindow-IT计算机-毕业设计.zip

    本项目“Android应用源码之PopWindow”是一个针对毕业设计的学习Demo,旨在帮助学生理解并掌握PopWindow的实现原理与应用。 PopWindow在Android中的主要功能是提供一种非模态对话框的效果,它可以浮现在Activity之...

    android 自定义单选、多选对话框及popwindow窗口实例源码.zip

    本文将详细解析如何在Android应用中实现自定义单选、多选对话框以及PopWindow窗口,并通过实例源码进行深入探讨。 一、自定义单选对话框(RadioGroup) 在Android中,单选对话框通常使用`AlertDialog`配合`...

    popWindow 7.0 8.0位置显示错误解决demo

    在Android开发中,`PopupWindow` 是一个非常实用的组件,它允许开发者创建浮动、弹出式的视图,常用于实现下拉菜单、提示框等效果。本篇将详细讲解如何解决`PopupWindow`在7.0和8.0版本上出现的位置显示错误问题,并...

    PopWindow半透明

    PopWindow是Android开发中常见的一种UI组件,常用于创建弹出式窗口,提供临时的交互功能,如下拉菜单、提示信息等。...在提供的"demo"文件中,可能包含了实现这些功能的示例代码,你可以参考并学习。

    Android Popwindow弹出框的模板使用示例

    Pop弹出框 public class ProductSortPop { private Context mContext; private View.OnClickListener mOnClickListener;... private TextView mAllSort; private TextView mNewSort;... private TextView ...

    android 底部弹出分享界面的popwindow

    在本示例中,我们将探讨如何使用`PopWindow`来创建这样一个底部弹出的分享界面。`PopWindow`是Android SDK提供的一种轻量级窗口,它可以在主UI之外显示额外的信息或功能。 首先,我们需要了解`PopWindow`的基本用法...

Global site tag (gtag.js) - Google Analytics