亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統(tǒng) > Android > 正文

android popwindow實現(xiàn)左側彈出菜單層及PopupWindow主要方法介紹

2020-04-11 12:32:27
字體:
來源:轉載
供稿:網(wǎng)友

PopupWindow可以實現(xiàn)浮層效果,主要方法有:可以自定義view,通過LayoutInflator方法;可以出現(xiàn)和退出時顯示動畫;可以指定顯示位置等。

為了將PopupWindow的多個功能展現(xiàn)并力求用簡單的代碼實現(xiàn),編寫了一個點擊按鈕左側彈出菜單的功能,實現(xiàn)出現(xiàn)和退出時顯示動畫效果并點擊其他區(qū)域時彈出層自動消失,效果圖如下:
源碼:
1.PopwindowOnLeftActivity.java

復制代碼 代碼如下:

package com.pop.main;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.PopupWindow;
public class PopwindowOnLeftActivity extends Activity {
// 聲明PopupWindow對象的引用
private PopupWindow popupWindow;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 點擊按鈕彈出菜單
Button pop = (Button) findViewById(R.id.popBtn);
pop.setOnClickListener(popClick);
}
//點擊彈出左側菜單的顯示方式
OnClickListener popClick = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
getPopupWindow();
// 這里是位置顯示方式,在按鈕的左下角
popupWindow.showAsDropDown(v);
// 這里可以嘗試其它效果方式,如popupWindow.showAsDropDown(v,
// (screenWidth-dialgoWidth)/2, 0);
// popupWindow.showAtLocation(findViewById(R.id.layout),
// Gravity.CENTER, 0, 0);
}
};
/**
* 創(chuàng)建PopupWindow
*/
protected void initPopuptWindow() {
// TODO Auto-generated method stub
// 獲取自定義布局文件pop.xml的視圖
View popupWindow_view = getLayoutInflater().inflate(R.layout.pop, null,
false);
// 創(chuàng)建PopupWindow實例,200,150分別是寬度和高度
popupWindow = new PopupWindow(popupWindow_view, 200, 150, true);
// 設置動畫效果
popupWindow.setAnimationStyle(R.style.AnimationFade);
//點擊其他地方消失
popupWindow_view.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if (popupWindow != null && popupWindow.isShowing()) {
popupWindow.dismiss();
popupWindow = null;
}
return false;
}
});
// pop.xml視圖里面的控件
Button open = (Button) popupWindow_view.findViewById(R.id.open);
Button save = (Button) popupWindow_view.findViewById(R.id.save);
Button close = (Button) popupWindow_view.findViewById(R.id.close);
// pop.xml視圖里面的控件觸發(fā)的事件
// 打開
open.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// 這里可以執(zhí)行相關操作
System.out.println("打開操作");
// 對話框消失
popupWindow.dismiss();
}
});
// 保存
save.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// 這里可以執(zhí)行相關操作
System.out.println("保存操作");
popupWindow.dismiss();
}
});
// 關閉
close.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// 這里可以執(zhí)行相關操作
System.out.println("關閉操作");
popupWindow.dismiss();
}
});
}
/***
* 獲取PopupWindow實例
*/
private void getPopupWindow() {
if (null != popupWindow) {
popupWindow.dismiss();
return;
} else {
initPopuptWindow();
}
}
}

主要界面
2.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:orientation="vertical" >
<Button android:id="@+id/popBtn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/pop_left" />
</LinearLayout>

彈出層的布局
3.pop.xml
復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/darker_gray">
<Button android:id="@+id/open"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/btn"
android:text="@string/open"/>
<Button android:id="@+id/save"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/btn"
android:text="@string/save"/>
<Button android:id="@+id/close"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/btn"
android:text="@string/close"/>
</LinearLayout>

value下的style文件
4.style
復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AnimationFade">
<!-- PopupWindow左右彈出的效果-->
<item name="android:windowEnterAnimation">@anim/in_lefttoright</item>
<item name="android:windowExitAnimation">@anim/out_righttoleft</item>
</style>
</resources>

value下的string文件
5.string.xml
復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, PopwindowOnLeftActivity!</string>
<string name="app_name">PopwindowOnLeft</string>
<string name="pop_left">彈出左側菜單</string>
<string name="open">打開</string>
<string name="save">保存</string>
<string name="close">關閉</string>
</resources>

anim目錄下的文件
出現(xiàn)時從左往右的動畫文件
6.in_lefttoright.xml
復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 定義從左向右進入的動畫 -->
<translate
android:fromXDelta="-100%"
android:toXDelta="0"
android:duration="500"/>
</set>

退出時從右往左消失的動畫
7.out_righttoleft.xml
復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 定義從右向左動畫退出動畫 -->
<translate
android:fromXDelta="0"
android:toXDelta="-100%"
android:duration="500"/>
</set>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
亚洲免费伊人电影| 天堂中文资源在线观看| 欧美成人女星排名| 国产欧美日韩91| 91视频精品| 91小视频网站| 另类尿喷潮videofree| 麻豆精品新av中文字幕| caopo在线| 国产精品麻豆欧美日韩ww| 在线观看免费视频a| 国产精品一区二区91| 日韩精品一区二区三区色偷偷| 亚洲欧洲美洲国产香蕉| 美女久久久精品| av一级在线观看| 国产不卡在线| 亚洲欧洲色图综合| 99riav在线| 97欧美在线视频| av免费精品一区二区三区| 麻豆av电影在线观看| 99国产欧美久久久精品| 亚洲国产成人91porn| 久久国产黄色片| 咪咪色在线视频| 日韩人妻无码一区二区三区| 国产乱人乱偷精品视频a人人澡| 大地资源网3页在线观看| 综合分类小说区另类春色亚洲小说欧美| 三级黄色的网站| 国产97人人超碰caoprom| 久久精品天堂| 草草草在线视频| 国产对白叫床清晰在线播放| 成人三级视频在线播放| 国产 高清 精品 在线 a| 午夜视频网站在线观看| 国产黄色小视频在线观看| 精品视频亚洲| gay视频丨vk| 老师让我她我爽了好久视频| 国产免费视频一区二区三区| 韩国av电影免费观看| 2025韩国理伦片在线观看| 久久久精品美女| 亚洲精品美女免费| 精品3atv在线视频| 激情五月色婷婷| 91精品国产福利在线观看麻豆| 亚洲日本韩国一区| 亚洲人metart人体| 痴汉一区二区三区| 成人免费看视频网站| 中文字幕被公侵犯的漂亮人妻| 亚洲人成网站在线在线观看| 最近中文字幕日韩精品| 欧美日韩一区二区三区四区五区六区| xxx亚洲日本| 午夜av中文字幕| xfav资源| 97超碰免费在线| 免费男女羞羞的视频网站中文字幕妖精视频| 亚洲精品第一国产综合野草社区| 国内精品久久久久伊人av| 中文字幕人妻无码系列第三区| 日韩精品在线观看一区二区| 国产亚洲网站| 欧美日韩国产三区| 国产视频精品va久久久久久| 欧美成人三级电影在线| 69久久夜色精品国产69乱青草| 免费男女羞羞的视频网站中文版| 亚洲二区在线| 欧美大胆视频| 大桥未久恸哭の女教师| 色综合久久中文综合久久牛| 一本久久a久久精品vr综合| 午夜精品一区二区三区在线视频| 国产精品视频一区二区三区麻豆| 日韩高清不卡一区二区| 久久久一区二区三区捆绑**| 激情五月综合色婷婷一区二区| 欧美一区二区免费视频| 国产精品久久天天影视| 日本性生活网站| 国产欧美在线观看免费| 不卡的av中国片| 黑人另类av| 狠狠干一区二区| 免费看片黄色| 欧美黄色片在线观看| 亚洲性69xxxbbb| 在线观看视频免费一区二区三区| 久久人人九九| 久草免费资源站| 天天爱天天做天天操| 国产原创一区二区三区| 91麻豆精品秘密入口| 国产熟女一区二区| 国产91精品网站| 欧美日韩卡一卡二| 欧美精品一区二区三区蜜桃视频| 九色精品免费永久在线| 无码少妇精品一区二区免费动态| 精品福利在线观看| 国产精品美女久久久久人| 永久免费在线看片视频| 成人a在线视频| 狠狠综合久久av一区二区老牛| 国产农村妇女毛片精品久久莱园子| 亚洲а∨精品天堂在线| 久一区二区三区| 日本一区二区三区免费视频| 四虎永久在线精品| 久久国产直播| 成人亲热视频网站| 在线手机中文字幕| 人人草在线观看| 最近中文字幕在线视频| 日韩av中文字幕在线播放| 99国产牛牛视频在线网站| 国产精品h在线观看| 日批视频在线看| 欧美一区二区在线观看视频| www.亚洲人.com| 色88久久久久高潮综合影院| 亚洲最大视频网| 三级中文字幕在线观看| 日韩一区二区三区精品视频第3页| 免费成人美女在线观看| 一区二区三区麻豆| 波多野结衣视频网站| 日韩美女视频中文字幕| 欧美成人乱码一区二区三区| 任你操这里只有精品| 国产乱淫av一区二区三区| 国外av网站| 91女人18毛片水多国产| 手机av在线网站| 九九视频九九热| 水野朝阳av一区二区三区| 中文精品久久| 久久美女高清视频| 欧美美乳视频网站在线观看| 头脑特工队2免费完整版在线观看| 欧美午夜丰满在线18影院| 免费中文字幕日韩欧美| 91麻豆免费看片| 日韩最新中文字幕电影免费看| 亚洲午夜精品久久久久久浪潮| 欧美多人猛交狂配| 中文字幕久久网| av综合网页| 日韩在线中文| 少妇毛片一区二区三区| 福利一区和二区| 国产精品一区二区视频| 国产成人在线亚洲欧美| 五月激情久久久| 久久亚洲中文字幕无码| 污污网站在线观看视频| aa在线免费观看| 97影院理论片在线播放| 91成人在线网站| 日韩码欧中文字| 亚洲欧洲色图综合| 日本www在线观看视频| 日韩国产一区二| 色综合天天天天做夜夜夜夜做| 国产无遮挡一区二区三区毛片日本| 无码国产69精品久久久久同性| 成人久久18免费网站漫画| 亚洲欧美成人vr| 国产ts丝袜人妖系列视频| 你懂的国产在线| eeuss影院在线| 中文无码av一区二区三区| 国产三级精品三级在线观看国产| 夜夜嗨yeyeh| 久久久午夜精品| 成人综合在线视频| 国产精品一区毛片| 日本黄视频在线观看| 91九色蝌蚪国产| 国产精品久久久精品| 大地资源高清播放在线观看| 欧美爆操老女人| 色噜噜狠狠成人中文综合| 免费a级观看| 日韩精品极品毛片系列视频| 日韩视频―中文字幕| 人人妻人人玩人人澡人人爽| 欧美一区二区三区性视频| 国产日韩高清一区二区三区在线| 国产欧美熟妇另类久久久| 91国内精品野花午夜精品| 国产精品亚洲专一区二区三区| 久久免费99精品久久久久久| 日韩欧美国产三级电影视频| 色中色综合网| aaa级精品久久久国产片| 久久久久女教师免费一区| 国产性猛交╳xxx乱大交| jizz国产精品| 女教师淫辱の教室蜜臀av软件| 亚洲午夜极品| 国产精品久久久久久久久搜平片| 精品久久久噜噜噜噜久久图片| 99re热在线观看| 国产精品夜色7777狼人| 亚洲男人天堂2020| 欧美亚洲日本| 岛国片免费观看| 91精品国产综合久久久久久丝袜| 最好看更新中文字幕| 少妇被狂c下部羞羞漫画| 日韩欧美亚洲另类| 国产精品自拍网站| 草草影院在线观看| 可以免费在线看黄的网站| 97在线观看视频国产| 免费观看成人www动漫视频| 6080亚洲理论片在线观看| 中文字幕在线三区| 国产女人伦码一区二区三区不卡| 国产suv精品一区二区883| 午夜精品久久久久久久99黑人| 欧美影片第一页| 性爱在线免费视频| 精品中文字幕在线2019| 亚洲肉体裸体xxxx137| 国产乱理伦片a级在线观看| 老牛国内精品亚洲成av人片| 久久99这里只有精品| 亚洲伦理在线观看| 濑亚美莉vs黑人在线观看| 亚洲无中文字幕| 国产乱码精品一区二三赶尸艳谈| 久草在线免费二| 中文字幕欧美激情一区| 成年网站在线看| 欧美高清在线视频| 国产在线观看h| 欧美人与动性xxxxbbbb| 成人福利资源| 翡翠波斯猫1977年美国| 国产无遮挡又黄又爽免费网站| 91精品在线影院| 亚洲熟妇一区二区| 亚洲优女在线| 日韩 欧美 精品| 成人精品第一区二区三区| 成人在线视频首页| 美女在线观看www| 国产69精品久久久久9999人| 中午字幕在线观看| 小早川怜子痴女在线精品视频| 日韩有码在线播放| 亚洲香蕉成视频在线观看| 日韩免费大片| 国产免费拔擦拔擦8x高清在线人| 国产精品日韩一区二区| 伊人色综合网| 亚洲国产天堂久久综合网| 午夜国产在线| 日韩中文字幕区一区有砖一区| 狠狠鲁狠狠操| 亚洲午夜电影在线| 欧美韩国日本| 美腿丝袜一区二区三区| 国产香蕉久久精品综合网| 在线免费黄网| 久久综合久久久| 中文字幕一区二区三区不卡| 首播影院在线观看免费观看电视| 91欧美极品| 波多野结衣成人在线| 国产成人精品自拍| 99亚洲伊人久久精品影院红桃| 国产成人精品亚洲日本在线桃色| 欧美中文字幕在线观看| 538任你躁精品视频网免费| 日本亚洲欧美美色| 亚洲**毛片| 国产麻豆9l精品三级站| 四季av一区二区| 在线国产中文字幕| 亚洲午夜未删减在线观看| 在线成人午夜影院| 啪一啪鲁一鲁2019在线视频| 成人午夜国产| 91精品国产乱码久久久张津瑜| 综合天堂av久久久久久久| 爱啪视频在线观看视频免费| 国模私拍视频在线观看| 中文字幕在线免费观看| 深夜免费福利视频| 手机av在线不卡| 91精品国产免费| 黄频网站在线观看| 在线黄色av网站| 成人三级小说| 97av在线视频免费播放| 中文字幕在线1| 羞羞在线观看网站| 黄色影院一级片| 国产欧美精品一区二区三区四区| 三级做a全过程在线观看| 欧美视频在线第一页| 成人福利片网站| 北条麻妃在线视频观看| 久久久久久久精| 亚洲图片 自拍偷拍| 欧美日韩亚洲一区二区| 青春草免费视频| av一级在线| 亚洲美女自拍视频| 97操碰视频| 97公开免费视频| 思思99热久久精品在线6| 国产免费999| 荡女精品导航| 国产精品久久久久久久久快鸭| 亚洲最大激情网| 精品人妻av一区二区三区| 亚洲国产毛片完整版| 欧美精品丝袜久久久中文字幕|