Android -- PopupWindow的隐藏

PopupWindow的隐藏

final PopupWindow window = mPageStatWin;
if(null != window && window.isShowing()) {
    win.dismiss();
}

PopupWindow的显示及位置设置

window.showAtLocation(parent, Gravity.RIGHT | Gravity.BOTTOM, 10,10);

第一个参数指定PopupWindow的锚点view,即依附在哪个view上。
第二个参数指定起始点为parent的右下角,第三个参数设置以parent的右下角为原点,向左、上各偏移10像素。

//将PopupWindow作为anchor的下拉窗口显示。即在anchor的左下角显示
window.showAsDropDown(anchor);
//xoff,yoff基于anchor的左下角进行偏移。
window.showAsDropDown(anchor, xoff, yoff);

如果没有充足的空间显示PopupWindow,那么PopupWindow的左下角将位于anchor的左上角来显示。

创建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;
}

PopupWindow显示和隐藏的动画设置

<!-- PopupWindow窗口淡入淡出动画 -->
<style name="AnimationFade">
    <item name="android:windowEnterAnimation">@anim/fade_in</item>
    <item name="android:windowExitAnimation">@anim/fade_out</item>
</style>
window.setAnimationStyle(R.style.AnimationFade);

PopupWindow的焦点设置

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

PopupWindow的显示及显示位置设置

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

我是天王盖地虎的分割线

参考:http://orgcent.com/android-popupwindow-usage/

时间: 2024-10-12 08:35:57

Android -- PopupWindow的隐藏的相关文章

Android popupwindow以及windowManager总结——实现悬浮效果

Android有三类窗口 应用程序窗口 (Application Window): 包括所有应用程序自己创建的窗口,以及在应用起来之前系统负责显示的窗口. 子窗口(Sub Window):比如应用自定义的对话框,或者输入法窗口,子窗口必须依附于某个应用窗口(设置相同的token). 系 统窗口(System Window): 系统设计的,不依附于任何应用的窗口,比如说,状态栏(Status Bar), 导航栏(Navigation Bar), 壁纸(Wallpaper), 来电显示窗口(Phon

使用内部(com.android.internal)和隐藏(@hide)API[第4部分,定制ADT]

本文翻译自http://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-4-customizing-adt/ 在前面的文章中,我讲述了如何创建定制的original-android.jar和创建定制的android平台以使用original-android.jar.这仅仅能够使用隐藏API,还为内部API留有一个障碍: ADT.ADT定义了一个规则禁止使用来自com.android.internal的类. 有几种方

使用内部(com.android.internal)和隐藏(@hide)API[第3部分,定制android平台]

本文翻译自https://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-3-custom-android-platform/ 在前一篇文章中我展示了如何创建定制的original-android.jar,包含内部API和隐藏API中的所有类. 接下的步骤很明显,就是修改现有的android平台(SDK_DIR/platforms/platform-X/android.jar).您可以简单的用第2部分创建的orig

使用内部(com.android.internal)和隐藏(@hide)API[第1部分,介绍]

本文翻译自http://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-1-introduction/#more-79 Android有两类API在SDK中不能使用. 第一类就是位于包com.android.internal的API,我将这些API称为内部API.第二类API就是用@hide标记的类和函数,虽然严格说这不是一个API而是一系列隐藏API的集合,我仍然假定这是一个API,称为隐藏API. 隐藏API的

【Android】android PopupWindow实现从底部弹出或滑出选择菜单或窗口

转载自:android PopupWindow实现从底部弹出或滑出选择菜单或窗口 Android PopupWindow的使用和分析 Popupwindow的使用 PopupWindow用法

使用内部(com.android.internal)和隐藏(@hide)API[第2部分,定制android.jar]

本文翻译自https://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-2-hacking-around/ 在前一篇文章中,我解释了为什么不通过反射机制,不太容易使用com.android.internal包的内部API和标记为@hide的隐藏API,这是由于android.jar文件没有包含内部API和隐藏API的类,这样在编译时刻就没有办法引用这些类了. 本文将说明如何恢复原始的android.jar,这样就

Android PopupWindow显示位置和显示大小

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:bac

Android PopupWindow 仿微信弹出效果

项目中,我需要PopupWindow的时候特别多,这个东西也特别的好使,所以我今天给大家写一款PopupWindow 仿微信弹出效果,这样大家直接拿到项目里就可以用了!首先让我们先看效果: 那么我首先先看下布局代码非常简单:如下 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/pop_layout" android:layout_

Android软键盘隐藏,遮挡EidtText解决办法

一.自动弹出软键盘 Timer timer=new Timer(); timer.schedule(new TimerTask() { public void run() { InputMethodManager inputMethodManager=(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInput(0, InputMethodManage