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

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

android PopupWindow 和 Activity彈出窗口實現(xiàn)方式

2020-04-11 12:42:02
字體:
供稿:網(wǎng)友
本人小菜一個。目前只見過兩種彈出框的實現(xiàn)方式,第一種是最常見的PopupWindow,第二種也就是Activity的方式是前幾天才見識過。感覺很霸氣哦。沒想到,activity也可以做偽窗口。
先貼上最常見的方法,主要講activity的方法。
一、彈出PopupWindow

復(fù)制代碼 代碼如下:

/**
* 彈出menu菜單
*/
public void menu_press(){
if(!menu_display){
//獲取LayoutInflater實例
inflater = (LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE);
//這里的main布局是在inflate中加入的哦,以前都是直接this.setContentView()的吧?呵呵
//該方法返回的是一個View的對象,是布局中的根
layout = inflater.inflate(R.layout.main_menu, null);
//下面我們要考慮了,我怎樣將我的layout加入到PopupWindow中呢???很簡單
menuWindow = new PopupWindow(layout,LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); //后兩個參數(shù)是width和height
//menuWindow.showAsDropDown(layout); //設(shè)置彈出效果
//menuWindow.showAsDropDown(null, 0, layout.getHeight());
//設(shè)置如下四條信息,當(dāng)點擊其他區(qū)域使其隱藏,要在show之前配置
menuWindow.setFocusable(true);
menuWindow.setOutsideTouchable(true);
menuWindow.update();
menuWindow.setBackgroundDrawable(new BitmapDrawable());
mClose = (LinearLayout)layout.findViewById(R.id.menu_close);
menuWindow.showAtLocation(this.findViewById(R.id.schoolmain), Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL, 0,50); //設(shè)置layout在PopupWindow中顯示的位置
//如何獲取我們main中的控件呢?也很簡單
mMainbtn = (LinearLayout)layout.findViewById(R.id.menu_main_btn);
mHistorybtn = (LinearLayout) layout.findViewById(R.id.menu_history_btn);
mHelpbtn = (LinearLayout) layout.findViewById(R.id.menu_help_btn);
//下面對每一個Layout進行單擊事件的注冊吧。。。
//比如單擊某個MenuItem的時候,他的背景色改變
//事先準備好一些背景圖片或者顏色
mMainbtn.setOnClickListener (new View.OnClickListener() {
@Override
public void onClick(View arg0) {
mywebView.loadUrl(URL);
menuWindow.dismiss(); //響應(yīng)點擊事件之后關(guān)閉Menu
}
});
mHelpbtn.setOnClickListener (new View.OnClickListener() {
@Override
public void onClick(View arg0) {
mywebView.loadUrl(URL);
menuWindow.dismiss(); //響應(yīng)點擊事件
}
});
mHistorybtn.setOnClickListener (new View.OnClickListener() {
@Override
public void onClick(View arg0) {
mywebView.loadUrl(URL);
menuWindow.dismiss(); //響應(yīng)點擊事件
}
});
menu_display = true;
}else{
//如果當(dāng)前已經(jīng)為顯示狀態(tài),則隱藏起來
menuWindow.dismiss();
menu_display = false;
}
}
public void back_press(){
if(menu_display){ //如果 Menu已經(jīng)打開 ,先關(guān)閉Menu
menuWindow.dismiss();
menu_display = false;
}
else {
Intent intent = new Intent();
intent.setClass(MainActivity.this,Exit.class);
startActivity(intent);
}
}

這種方法很簡單,要注意的是如果要想點擊其他地方使其隱藏,要在show設(shè)置四條屬性如下:
// 使其聚焦
mPopupWindow.setFocusable(true);
// 設(shè)置允許在外點擊消失
mPopupWindow.setOutsideTouchable(true);
//刷新狀態(tài)
mPopupWindow.update();
//點back鍵和其他地方使其消失,設(shè)置了這個才能觸發(fā)OnDismisslistener ,設(shè)置其他控件變化等操作
mPopupWindow.setBackgroundDrawable(new BitmapDrawable());
二、Activity做偽彈窗
 
本人感覺這個很先進啊。恕我冒犯,我只這里直接寫上牛人的代碼。此牛人寫的是防微信的demo。做的相當(dāng)好,我在后面附上CSDN免費下載鏈接。
先貼上java代碼――Exit.java
package cn.buaa.myweixin;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.LinearLayout;
import android.widget.Toast;
public class Exit extends Activity {
private LinearLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.exit_dialog);
layout=(LinearLayout)findViewById(R.id.exit_layout);
layout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "提示:點擊窗口外部關(guān)閉窗口!",
Toast.LENGTH_SHORT).show();
}
});
}
@Override
public boolean onTouchEvent(MotionEvent event){
finish();
return true;
}
public void exitbutton1(View v) {
this.finish();
}
public void exitbutton0(View v) {
this.finish();
MainWeixin.instance.finish();//關(guān)閉Main 這個Activity
}
}
附上布局文件:exit_dialog.xml
復(fù)制代碼 代碼如下:

View Code
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/exit_layout"
android:layout_width="280dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:background="@drawable/confirm_dialog_bg2" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:padding="5dp"
android:textColor="#333"
android:textSize="20sp"
android:text="退出微信" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#333"
android:layout_marginTop="1dp"
android:padding="10dp"
android:textSize="16sp"
android:gravity="center_horizontal"
android:text="退出后,你將收不到新的消/n息.確定要退出?" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="33dp"
android:layout_marginBottom="8dp"
>
<Button
android:id="@+id/exitBtn0"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:text="是"
android:textSize="16sp"
android:textColor="#fff"
android:background="@drawable/btn_style_green"
android:gravity="center"
android:onClick="exitbutton0"
/>
<Button
android:id="@+id/exitBtn1"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="否"
android:textSize="16sp"
android:textColor="#333"
android:background="@drawable/btn_style_white"
android:gravity="center"
android:onClick="exitbutton1"
/>
</LinearLayout>
</LinearLayout>

分析,彈出exit這個框很簡單,本身就是activity,在主界面用startavtivity等方法像普通activity啟動。
關(guān)鍵是如何做到點擊其他地方退出和如何關(guān)閉程序。
、點擊其他地方退出,只要監(jiān)聽OnClickListener讓所有的點擊都退出就行了(除了xml中指定按鈕事件之外)。
、退出主程序。只要在出程序中將主程序自己設(shè)置成靜態(tài)對象,在外部調(diào)用即可 public static MainWeixin instance=null;
上面的布局和activity并不能將activity的窗體展現(xiàn)在主界面之上,看起來像個彈出框。下面是彈出框的styles配置:
復(fù)制代碼 代碼如下:

<style name="MyDialogStyle">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:backgroundDimEnabled">true</item>
</style>

下面我們來分析一下這個布局的含義及重點:
重點1、<item name="android:windowBackground">@android:color/transparent</item>窗口背景色
重點2、<item name="android:windowFrame">@null</item>Dialog的windowFrame框為無
重點4、<item name="android:windowIsFloating">true</item>是否浮現(xiàn)在activity之上
重點5、<item name="android:windowIsTranslucent">true</item>窗口是否半透明――是(與第一條配合使用)
重點6、<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>窗口彈出效果
重點7、<item name="android:backgroundDimEnabled">true</item> 是否允許背景模糊
重點8、<item name="android:windowContentOverlay">@null</item>這個不設(shè)置的話,可能會出現(xiàn)邊框黑線
以上代碼都是牛人們的功勞,我拿來做一分析,給更多需要的朋友。
我在眾多牛人的指引下一步步成長,感謝牛人們。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
欧美在线导航| 亚洲免费高清| 国产精品美女www爽爽爽视频| 久久综合色之久久综合| 丁香花五月激情| 亚洲国产激情一区二区三区| 日本免费一区二区三区| 91伊人久久| 亚洲 欧美 国产 另类| 97在线看免费观看视频在线观看| 精品国产一区二区三区麻豆小说| 蜜桃伊人久久| 欧美高清在线一区二区| 黄色网一区二区| 日本高清不卡一区二区三| 女人裸体性做爰全过| 1024亚洲| 欧美国产乱视频| 亚洲第一天堂| 久久婷婷五月综合色丁香| 久久久xxx| 一本色道久久综合亚洲aⅴ蜜桃| 欧美老女人第四色| 视频一区二区在线播放| 国产精品乱人伦中文| 国内自拍视频在线观看| 欧美日韩一区二区三区四区| 欧美激情一区在线| 超碰在线资源站| 免费毛片一区二区三区| 亚洲丝袜一区在线| 三级黄色视屏| 99久久久无码国产精品免费| 丁香婷婷久久久综合精品国产| 亚洲欧美日韩人成在线播放| 五月天视频在线观看| 日韩精品中文字幕第1页| 激情丁香在线| 国产精品10p综合二区| 性欧美video高清bbw| 欧美欧美欧美欧美| 国产精品视频一区二区免费不卡| xx00欧美| 国产一区二区视频在线| 四虎影视成人永久免费观看视频| 欧美高清在线一区二区| 色猫猫国产区一区二在线视频| 97超视频在线观看| 国产肉丝袜一区二区| 国产精品福利av| 国内精品一区二区三区| 亚洲天堂网一区二区| 久久99久久99精品免费看小说| 日产精品一区二区| 欧美三级欧美一级| 黑人巨大精品一区二区在线| 天天插天天色| 激情综合在线| 国产精品久久精品视| 性欧美ⅴideo另类hd| 久久电影网站| 色欲av无码一区二区三区| 国产精品久久毛片| 最新欧美精品一区二区三区| 天天色棕合合合合合合合| 国产69精品久久久久久久| 中文字幕一区二区三区手机版| 三级中文字幕在线观看| 欧美一区二区高清| 久久久久99精品一区| 精品国产一区二区三区麻豆免费观看完整版| 最近的2019中文字幕免费一页| 欧美一级大片| 天堂成人在线视频| 成人羞羞视频在线看网址| 免费看黄色一级视频| 99欧美精品| 少妇久久久久久久久久| 999精彩视频| 国产精品色婷婷| 欧美一级免费片| 成人黄色a**站在线观看| 久久亚洲av午夜福利精品一区| 91精品电影| 我要色综合中文字幕| 麻豆传媒在线免费| 国产在线看片免费视频在线观看| 91精品国产入口在线| 一个人www视频在线免费观看| 中文字幕有码在线视频| 青青操国产视频| 国产精品日韩在线播放| 欧美视频不卡中文| 日韩国产高清污视频在线观看| 国产成人亚洲精品青草天美| 菠萝蜜一区二区| 一级全黄肉体裸体全过程| 99热成人精品热久久66| 亚洲第一福利视频在线| 男人艹女人网站| 日韩黄色影院| 一区二区三区丝袜| 成人一区二区三区仙踪林| 高清一区二区三区四区五区| 思思99热久久精品在线6| 亚洲无线一线二线三线区别av| 四虎国产精品免费观看| 欧美综合国产精品久久丁香| 亚洲成人午夜电影| 欧美日韩中文字幕一区| av中文字幕av| 自己做鸭怎么接单寻找客源| 国产精品综合久久久久久| 久久精品在线观看视频| 亚洲成人精品| 又粗又大的机巴好爽欧美| 欧美一级高清免费播放| 爱爱免费小视频| 黑人精品xxx一区一二区| 欧美日韩一区自拍| 欧洲美女日日| 久久久久久久久蜜桃| 免费羞羞视频网站| 精品综合久久久| wwwwwxxxx日本| fc2ppv在线播放| 最新亚洲精品国自产在线观看| 亚洲一区二区三区乱码aⅴ| hs视频在线观看| 亚洲老司机网| 久久久久久久久久久影视| 国产精品国产一区二区三区四区| 91在线观看欧美日韩| 亚洲男人天堂一区| 激情美女网站| 最新国产在线拍揄自揄视频| 国产欧美韩国高清| 男男h黄动漫啪啪无遮挡软件| 国产伦一区二区三区| 欧美1区二区三区公司| 中文字幕色婷婷在线视频| 日韩一区二区三区高清| 色婷婷一区二区| 欧美一级视频免费在线观看| 狠狠躁夜夜躁人人爽视频| 69av一区二区三区| 欧美日韩在线视频一区二区| 国产成人精品免费视频大全最热| 欧美jizzhd精品欧美满| 久久久久久77777| 国产在线精品视频| av中文字幕在线| www.亚洲.com| 国产精品免费无遮挡无码永久视频| 成人午夜视频在线| 无码精品一区二区三区在线播放| www日本视频| 欧美精品一区二区三区视频| 国产日韩欧美三级| 亚洲最大的成人av| 日本免费网站视频| 7878视频在线观看| 国产农村妇女精品一二区| 91极品女神私人尤物在线播放| 久久久国产视频91| 午夜三级在线观看| 91香蕉国产在线观看| 特级黄国产片一级视频播放| 日韩精品中文字幕在线观看| www国产黄色| 日韩在线免费高清视频| 国产在线观看91| 亚洲字幕在线观看| 欧美123区| 成人高清视频免费观看| 热99精品只有里视频精品| 97国产在线视频| 欧美精品aⅴ在线视频| 精品国产福利| www.蜜桃av| 国产午夜精品久久| 国产中文字幕在线免费观看| 日韩电影免费在线| 欧美一级黄色片| 精品亚洲一区二区三区| 精品蜜桃一区二区三区| 熟女人妻一区二区三区免费看| 午夜影院网站| 欧美一区二区三区视频在线| 五月天在线免费视频| 国产精品亲子伦对白| 久草在线在线| 免费无遮挡无码永久视频| 性欧美丰满熟妇xxxx性仙踪林| 麻豆免费在线视频| 色爱av综合网| 久久精品观看| 久久人人爽人人爽人人片亚洲| 国产激情在线播放| 国产人成精品一区二区三| 日韩三级在线| 超碰中文在线| 欧美综合一区二区| 泷泽萝拉在线播放| 欧美麻豆久久久久久中文| 午夜精品福利一区二区| 日韩最新中文字幕电影免费看| 影音先锋中文在线观看| 欧美性大战久久久| 久久天堂成人| 色8久久影院午夜场| 国产主播自拍av| 亚洲国产天堂av| 中文无码日韩欧| 国产激情无码一区二区三区| 亚洲在线第一页| 国产成人精品999在线观看| 亚洲永久免费观看| 国产美女亚洲精品7777| 天堂一区在线观看| 性xxxxfreexxxxx欧美丶| 在线性视频日韩欧美| 免费av福利在线观看| 精品一区av| 日本一区二区免费在线观看视频| 久久久久久毛片免费看| 国产精品区一区二区三含羞草| 日本一级在线观看| 国产精品久久久一区二区| 亚洲精品777| av激情亚洲男人天堂| 免费超爽大片黄| 丝袜熟女一区二区三区| 日本wwww色| 日韩免费在线| 99久久久国产| 飘雪影院手机免费高清版在线观看| 国产中文字幕一区二区三区| 奇米影视狠狠狠| 国产精品毛片aⅴ一区二区三区| 欧美猛烈性xbxbxbxb| 成人自拍网站| 日韩欧美国产视频| 一区二区三区视频在线看| 亚洲免费黄色网址| 国产免费一区二区三区最新6| 精品久久免费观看| 国产在线视频你懂得| 国产精品成人品| 国产日产高清欧美一区二区三区| 亚洲老女人视频免费| 欧美午夜女人视频在线| 国产特级aaaaaa大片| 日韩精品导航| 美女扒开尿口让男人操亚洲视频网站| 18岁成年人网站| 成人免费午夜电影| 丰满岳妇乱一区二区三区| 成人性生交视频免费观看| 人禽交欧美网站免费| 小草在线视频免费播放| 洋洋成人永久网站入口| 91在线观看入口| 亚洲一区二区三区中文字幕在线观看| 亚洲成av人影院在线观看网| 18啪啪污污免费网站| 亚洲七七久久综合桃花剧情介绍| 欧美一区二区三区成人| 欧美日韩一级二级| 欧美极品另类| 欧美午夜片欧美片在线观看| 国产精品男人爽免费视频1| 欧美一级在线看| 午夜亚洲一区| 久久影视电视剧免费网站清宫辞电视| 成人免费看视频网站| 成人公开免费视频| 国际精品欧美精品| 韩国av中国字幕| 2019国产精品视频| av高清不卡| 日本24小时在线高清视频| 国产免费黄色一级片| 加勒比婷婷色综合久久| 91国语精品自产拍在线观看性色| 亚洲伊人成人网| 亚洲精品人成电影网| 色综合天天综合网国产成人网| 中文字幕日本乱码精品影院| 波多野结衣久久高清免费| 久久黄色一级视频| 国产精品自产拍在线观看| 成人亚洲综合| 中文有码在线| 亚洲国产精品成人一区二区在线| 久久影视一区二区| 亚洲专区视频| 伊人网综合视频| 少妇光屁股影院| 一区二区三区av电影| 久久91麻豆精品一区| 欧美三级日本三级| 国产日韩欧美中文在线播放| 欧美超碰在线| 国产精品福利电影一区二区三区四区| 亚洲区精品久久一区二区三区| 国产精品久久久一区二区| 国产 欧美 日本| 男生女生差差差的视频在线观看| 亚洲国产天堂| 精品国产一级片| 一区二区三区高清| 99re在线视频这里只有精品| 午夜视频免费看| 97国产suv精品一区二区62| 成人短视频app| 亚洲精品自拍第一页| 精品精品欲导航| 蜜桃传媒视频麻豆第一区免费观看| 国产一区二区三区中文| 欧美日韩黑人| 中文字幕在线观看视频网站| 九色精品国产蝌蚪| 国产精品丝袜在线播放| 唐朝av高清盛宴| aaaaaaaa毛片| 久操国产精品| 亚洲人吸女人奶水|