PopupWindowFragment :使用Fragment來管理和生成PopupWindow,并且提供更好的定制化接口,比DialogFragment更加強(qiáng)大實(shí)用

PopupWindowFragment :使用Fragment來管理和生成PopupWindow,并且提供更好的定制化接口,比DialogFragment更加強(qiáng)大實(shí)用###


GitHub 地址:<a >PopupWindowFragment</a>

Bug反饋地址: dingwei.chen1988@gmail.com
<strong>簡介:</strong>

  • <p>PopupWindowFragment是為了在Fragment模型中更好,更方便的使用PopupWindow而存在的通用組件。跟DialogFragment類似,也是將一個(gè)新的Window對(duì)象納入Fragment的狀態(tài)管理僵娃。但是由于DialogFragment的功能及接口的局限性,已經(jīng)很難滿足更加復(fù)雜的界面要求莱坎。因此,使用接口更加豐富的PopupWindow代替Dialog的方式應(yīng)運(yùn)而生矫渔。</p>
  • 在PopupWindowFragment中,你除了可以輕松的指定Window切換時(shí)候的過場動(dòng)畫,還可以動(dòng)態(tài)指定背景及布局外,在屏幕翻轉(zhuǎn)的時(shí)候,PopupWindowFragment一樣會(huì)記錄翻轉(zhuǎn)前的狀態(tài)摇幻。

1.使用方法:

/**生成一個(gè)PopupWindowFragment
* @code david.demos.popupwindow.DemoPopupWindowFragment
*/
public class DemoPopupWindowFragment extends PopupWindowFragment {    
    @Override    
    protected View onCreateView(LayoutInflater inflater, Bundle savedInstanceState) {       
     return inflater.inflate(R.layout.demo_pop_window,null);   
    }
}

/**Activity中調(diào)用
* @code david.demos.popupwindow.Demos_PopupWindowFragment
*/
private PopupWindowFragment mPopupWindowFragment = new DemoPopupWindowFragment();
...
mPopupWindowFragment.show(getFragmentManager(),mPopTag);

調(diào)用PopupWindowFragment的方法就是如此簡單岭皂。當(dāng)然,這部分剪口很大一部分參考了DialogFragment的接口設(shè)計(jì)存捺。調(diào)用上述方法后可以實(shí)現(xiàn)效果:

彈出一個(gè)PopupWindowFragment

2.過場動(dòng)畫:

當(dāng)然PopupWindowFragment可以做的事情遠(yuǎn)不止此,PopupWindowFragment可以通過簡單的request方法來定制你的過場動(dòng)畫:

/**Activity中調(diào)用
* @code david.demos.popupwindow.Demos_PopupWindowFragment
*/
private int[] mWindowAnims =  { 
       PopupWindowFragment.ANIM_ACTIVITY,        
       PopupWindowFragment.ANIM_TOAST,        
       PopupWindowFragment.ANIM_DIALOG,        
       PopupWindowFragment.ANIM_INPUTMETHOD
};
...
mPopupWindowFragment.requestPopupAnimationStyle(mWindowAnims[index]);
...

PopupWindowFragment將默認(rèn)提供4個(gè)過場動(dòng)畫,分別是Activity動(dòng)畫,Toast動(dòng)畫,Dialog彈出動(dòng)畫,還有輸入法動(dòng)畫,效果如下:

指定不同的過場動(dòng)畫


3.狀態(tài)保存:

PopupWindowFragment擁有Fragment的保存特質(zhì),可以在Activity切換的時(shí)候依舊保持自己的狀態(tài):

Activity重新生成后,PopupWindowFragment依舊能保持之前的狀態(tài)和屬性

4.定制Gravity:

//demo/Demos_PopupWindowFragment.java

private int[] mGravitys =  {Gravity.BOTTOM,Gravity.CENTER,Gravity.TOP};
...
mPopupWindowFragment.requestGravity(mGravitys[i]);
....

效果:

通過Gravity指定位置

PopupWindowFragment提供了豐富的API和接口供各位開發(fā)者使用,如果疑問和Bug,請(qǐng)發(fā)送到作者郵箱贼邓。thx

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市热鞍,隨后出現(xiàn)的幾起案子与殃,更是在濱河造成了極大的恐慌,老刑警劉巖碍现,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件幅疼,死亡現(xiàn)場離奇詭異,居然都是意外死亡昼接,警方通過查閱死者的電腦和手機(jī)爽篷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來慢睡,“玉大人逐工,你說我怎么就攤上這事铡溪。” “怎么了泪喊?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵棕硫,是天一觀的道長。 經(jīng)常有香客問我袒啼,道長哈扮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任蚓再,我火速辦了婚禮滑肉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘摘仅。我一直安慰自己靶庙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布娃属。 她就那樣靜靜地躺著六荒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪矾端。 梳的紋絲不亂的頭發(fā)上掏击,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音须床,去河邊找鬼铐料。 笑死渐裂,一個(gè)胖子當(dāng)著我的面吹牛豺旬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播柒凉,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼族阅,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了膝捞?” 一聲冷哼從身側(cè)響起坦刀,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蔬咬,沒想到半個(gè)月后鲤遥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡林艘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年盖奈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狐援。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡钢坦,死狀恐怖究孕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情爹凹,我是刑警寧澤厨诸,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站禾酱,受9級(jí)特大地震影響微酬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宇植,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一得封、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧指郁,春花似錦忙上、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至腰懂,卻和暖如春梗逮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绣溜。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國打工慷彤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人怖喻。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓底哗,卻偏偏與公主長得像,于是被迫代替她去往敵國和親锚沸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子跋选,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,726評(píng)論 25 707
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 6,362評(píng)論 0 17
  • 世間千百樣好,都比不過夜有明月距潘、人間有你炼列。 01 我在開往蘇州的火車上,尋常的晚上音比,人并不多俭尖。旅途疲憊,或閉目養(yǎng)神...
    寒煙衰草閱讀 18,493評(píng)論 503 613
  • 節(jié)日有點(diǎn)多明肮,冬至過冬,接著平安夜缭付,圣誕節(jié)柿估,再到元旦。每恰逢這種日子陷猫,我們的朋友圈也總免不了被各種慶祝刷屏秫舌,聊天框里...
    曦E閱讀 547評(píng)論 0 0
  • 今天我和旁邊門市的小路路妹妹玩了,那小妹妹特別可愛也特別聽話
    付大康閱讀 269評(píng)論 0 0