Android编程中PopupWindow的用法分析【位置、动画、焦点】

本文实例讲述了Android编程中popupwindow用法。分享给大家供大家参考,具体如下:

在Android中有很多级别的Window,不同级别的Window按照z-index方向分布。下面看看Android控件(view)PopupWindow的用法(位置、动画、焦点)。

1、创建PopouWindow及相关参数设置

//创建一个包含自定义view的PopupWindow
private PopupWindow makePopupWindow(Context cx) {
  PopupWindow window;
  window = new PopupWindow(cx);
  TextView contentView = new TextView(cx);
  contentView.setGravity(Gravity.CENTER);
  final Resources res = cx.getResources();
  // contentView.setBackgroundColor(R.color.page_window_bgcolor);
  // window.setBackgroundDrawable(new
  // ColorDrawable(res.getColor(R.color.page_window_bgcolor)));
  contentView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
      LayoutParams.WRAP_CONTENT));
  //设置PopupWindow显示和隐藏时的动画
  window.setAnimationStyle(R.style.AnimationFade);
  //设置PopupWindow的大小(宽度和高度)
  window.setWidth(res.getDimensionPixelSize(R.dimen.page_window_width));
  window.setHeight(res.getDimensionPixelSize(R.dimen.page_window_height));
  //设置PopupWindow的内容view
  window.setContentView(contentView);
    //设置PopupWindow外部区域是否可触摸
    window.setOutsideTouchable(true);
  return window;
}

2、PopupWindow显示和隐藏的动画设置

XML配置代码:

<!-- PopupWindow窗口淡入淡出动画 -->
<style name="AnimationFade">
  <item name="android:windowEnterAnimation">@anim/fade_in</item>
  <item name="android:windowExitAnimation">@anim/fade_out</item>
</style>

JAVA代码:

window.setAnimationStyle(R.style.AnimationFade);

3、PopupWindow的焦点设置

window.setFocusable(true); //设置PopupWindow可获得焦点
window.setTouchable(true); //设置PopupWindow可触摸
window.setOutsideTouchable(true); //设置非PopupWindow区域可触摸

4、PopupWindow的显示及显示位置设置

window.showAtLocation();
window.showAsDropDown();

这些方法及相关参数使用将在后面详细介绍。

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android操作SQLite数据库技巧总结》、《Android操作json格式数据技巧总结》、《Android数据库操作技巧总结》、《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android资源操作技巧汇总》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

(0)

相关推荐

  • Android开发实现popupWindow弹出窗口自定义布局与位置控制方法

    本文实例讲述了Android开发实现popupWindow弹出窗口自定义布局与位置控制方法.分享给大家供大家参考,具体如下: 布局文件: 主布局文件:activity_main: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q

  • Android开发仿QQ空间根据位置弹出PopupWindow显示更多操作效果

    我们打开QQ空间的时候有个箭头按钮点击之后弹出PopupWindow会根据位置的变化显示在箭头的上方还是下方,比普通的PopupWindow弹在屏幕中间显示好看的多. 先看QQ空间效果图: 这个要实现这个效果可以分几步进行 1.第一步自定义PopupWindow,实现如图的样式,这个继承PopupWindow自定义布局很容易实现 2.得到点击按钮的位置,根据位置是否在屏幕的中间的上方还是下方,将PopupWindow显示在控件的上方或者下方 3.适配问题,因为PopupWindow上面的操作列表

  • PopupWindow自定义位置显示的实现代码

    一.概述 在Android中弹出式菜单(以下称弹窗)是使用十分广泛的一种菜单呈现方式,弹窗为用户交互提供了便利.关于弹窗的实现大致有以下两种方式AlertDialog和PopupWindow,当然网上也有使用Activity并配合Dialog主题的方式实现弹窗,有兴趣的朋友也可以去研究一下.对于AlertDialog和PopupWindow两者最主要的区别就是显示的位置问题: (1)AlertDialog在位置显示上是固定的 (2)PopupWindow相对比较随意,能够在主屏幕的任意位置显示.

  • Android编程中PopupWindow的用法分析【位置、动画、焦点】

    本文实例讲述了Android编程中popupwindow用法.分享给大家供大家参考,具体如下: 在Android中有很多级别的Window,不同级别的Window按照z-index方向分布.下面看看Android控件(view)PopupWindow的用法(位置.动画.焦点). 1.创建PopouWindow及相关参数设置 //创建一个包含自定义view的PopupWindow private PopupWindow makePopupWindow(Context cx) { PopupWind

  • Android编程中Perferences的用法实例分析

    本文实例讲述了Android编程中Perferences的用法.分享给大家供大家参考,具体如下: 浏览手机的/data/data/目录中的各个package的目录,经常会看到有一个shared_prefs文件夹,里面有一个包名_preferences.xml文件,这个文件就是要说的主角,下面简称他为配置文件: 这个文件类似于一个配置文件的角色,记录应用的一些属性值,比如如果你的应用提供了指导用户使用的向导功能,那么估计肯定会提供选项让用户来关闭这个功能,那么你可以将这个开关放置在这个文件里,下次

  • Android编程中HTTP服务用法详解

    本文实例讲述了Android编程中HTTP服务用法.分享给大家供大家参考,具体如下: 在Android中,除了使用java.net包下的API访问HTTP服务之外,我们还可以换一种途径去完成工作.Android SDK附带了Apache的HttpClient API.Apache HttpClient是一个完善的HTTP客户端,它提供了对HTTP协议的全面支持,可以使用HTTP GET和POST进行访问.下面我们就结合实例,介绍一下HttpClient的使用方法. 我们新建一个http项目,项目

  • Android编程中自定义dialog用法实例

    本文实例讲述了Android编程中自定义dialog用法.分享给大家供大家参考,具体如下: dialog是android中提供的一组弹出提示框,非常好用,可是它的样式是一个定式,有时候我们需求定义一些自己的样式 1.定义一个样式文件,此文件继承自Theme.Dialog,在style.xml文件中建立一个自己的样式 <style name="addNoteType_error_Dialog" parent="@android:Theme.Dialog">

  • Android编程之重力感应用法分析

    本文实例讲述了Android编程之重力感应用法.分享给大家供大家参考,具体如下: 重力感应主要是依靠手机的加速度传感器(accelerometer)来实现 在Android的开发中一共有八种传感器但是不一定每一款真机都支持这些传感器.因为很多功能用户根本不care的所以可能开发商会把某些功能屏蔽掉.还是得根据真机的实际情况来做开发,下面主要讨论加速度传感器的具体实现方式,传感器名称如下: 加速度传感器(accelerometer) 陀螺仪传感器(gyroscope) 环境光照传感器(light)

  • Android编程之通知栏的用法小结

    本文实例总结了Android编程中通知栏的用法.分享给大家供大家参考,具体如下: 很久没有使用Android的通知功能了,今天把两年前的代码搬出来一看,发现很多方法都废弃了,代码中各种删除线看的十分不爽.于是乎,打开Google,查看官方文档,学习最新的发送通知栏消息的方法. 本文中的代码均参照谷歌官方文档编写: http://developer.android.com/guide/topics/ui/notifiers/notifications.html 1.首先,获取系统的通知服务: 复制

  • Android开发中PopupWindow用法实例分析

    本文实例分析了Android开发中PopupWindow用法.分享给大家供大家参考,具体如下: private TextView tv_appmanager_title; private ListView lv_app_manager; private LinearLayout ll_appmanager_loading; private AppManagerProvider provider; private List<AppManagerInfo> infos ; private AppM

  • Android编程中selector背景选择器用法实例分析

    本文实例讲述了Android编程中selector背景选择器用法.分享给大家供大家参考,具体如下: 在Android开发过程中,经常对某一View的背景在不同的状态下,设置不同的背景,增强用户体验.如果按钮,在按下时,背景变化,如果在代码中动态设置,相对比较麻烦.Android为我们提供了selector背景选择器可以非常方便的解决这一问题. Selector的结构描述: 1.android:state_pressed="true/false" true:表示按下状态下使用,false

  • Android编程中Handler原理及用法实例分析

    本文实例讲述了Android编程中Handler用法.分享给大家供大家参考,具体如下: 在Android的UI开发中,我们经常会使用Handler来控制主UI程序的界面变化.有关Handler的作用,我们总结为:与其他线程协同工作,接收其他线程的消息并通过接收到的消息更新主UI线程的内容. 我们假设在一个UI界面上面,有一个按钮,当点击这个按钮的时候,会进行网络连接,并把网络上的一个字符串拿下来显示到界面上的一个 TextView上面,这时就出现了一个问题,如果这个网络连接的延迟过大,可能是10

  • Android编程中常用适配器及自定义适配器用法实例分析

    本文实例讲述了Android编程中常用适配器及自定义适配器用法.分享给大家供大家参考,具体如下: 一.适配器. 顾名思义,就是把一些数据给弄得适当,适合以便于在View上显示.可以看作是界面数据绑定的一种理解.它所操纵的数据一般都是一些比较复杂的数据,如数组,链表,数据库,集合等.适配器就像显示器,把复杂的东西按人可以接受的方式来展现. 那么适配器是怎么处理得到的数据,并把它显示出来的呢.其实很简单,说白了适配器它也是一个类,在类里面它实现了父类的这几个方法: publicint getCoun

随机推荐