Android編程實現(xiàn)popupwindow定時消失的方法
本文實例講述了Android編程實現(xiàn)popupwindow定時消失的方法。分享給大家供大家參考,具體如下:
因為是在其他界面彈出的popupwindow,要在橫屏切換回豎屏的時候,讓popupwindow自動消失,因為彈出popupwindow是普通的類,沒有監(jiān)聽橫豎屏的函數(shù),所以想到了使用定時器,定時3秒之后如果用戶沒有操作就讓popupwindow消失,代碼如下:
// 創(chuàng)建彈出窗口
popupMenu = new PopupWindow(view, sourceView.getWidth() * 2,
LayoutParams.WRAP_CONTENT + 200);
ColorDrawable cd = new ColorDrawable(R.color.white);
popupMenu.setBackgroundDrawable(cd);
popupMenu.update();
popupMenu.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
popupMenu.setTouchable(true); // 設置popupwindow可點擊
popupMenu.setOutsideTouchable(true); // 設置popupwindow外部可點擊
popupMenu.setFocusable(true); // 獲取焦點
ColorDrawable dw = new ColorDrawable(0x00);
popupMenu.setBackgroundDrawable(dw);
popupMenu.setTouchInterceptor(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
popupMenu.dismiss();
return true;
}
timer.start();
return false;
}
});
}
CountDownTimer timer = new CountDownTimer(3000, 10) {
@Override
public void onTick(long millisUntilFinished) {
}
@Override
public void onFinish() {
popupMenu.dismiss();
}
};
@Override
public PopupWindow createPupupWindow() {
return popupMenu;
}
@Override
public void showPopupMenu() {
if (popupMenu != null && popupMenu.isShowing()) {
popupMenu.dismiss();
} else {
popupMenu.showAsDropDown(sourceView, -sourceView.getWidth() / 2, 0);
timer.start();
}
}
關鍵點是使用CountDownTimer類,來進行定時,已經(jīng)全部封裝好了,不要去考慮子線程無法去改變UI界面的問題,還是非常好用的。
更多關于Android相關內容感興趣的讀者可查看本站專題:《Android窗口相關操作技巧總結》、《Android開發(fā)入門與進階教程》、《Android調試技巧與常見問題解決方法匯總》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
- 詳解Android中PopupWindow在7.0后適配的解決
- Android自定義PopupWindow實現(xiàn)炫酷的IOS對話框效果
- 詳解Android PopupWindow怎么合理控制彈出位置(showAtLocation)
- Android開發(fā)實現(xiàn)popupWindow彈出窗口自定義布局與位置控制方法
- Android UI設計與開發(fā)之PopupWindow仿騰訊新聞底部彈出菜單
- Android Popupwindow彈出窗口的簡單使用方法
- Android實現(xiàn)底部半透明彈出框PopUpWindow效果
- Android中使用PopupWindow 仿微信點贊和評論彈出
- Android中的popupwindow進入和退出的動畫效果
- Android 使用PopupWindow實現(xiàn)彈出更多的菜單實例詳解
- Android開發(fā)解決popupWindow重疊報錯問題
相關文章
Android checkbox的listView(多選,全選,反選)具體實現(xiàn)方法
由于listview的一些特性,剛開始寫這種需求的功能的時候都會碰到一些問題,重點就是存儲每個checkbox的狀態(tài)值,在這里分享出了完美解決方法:2013-06-06
Android編程獲取系統(tǒng)隱藏服務實現(xiàn)鎖屏的方法
這篇文章主要介紹了Android編程獲取系統(tǒng)隱藏服務實現(xiàn)鎖屏的方法,涉及Android關于廣播,服務,權限及鎖屏等操作的相關技巧,需要的朋友可以參考下2015-12-12
Android design包自定義tablayout的底部導航欄的實現(xiàn)方法
這篇文章主要介紹了Android design包自定義tablayout的底部導航欄的實現(xiàn)方法,非常不錯,具有參考借鑒價值,需要的朋友參考下2017-01-01
Android自定義Spinner下拉列表(使用ArrayAdapter和自定義Adapter實現(xiàn))
這篇文章主要介紹了Android自定義Spinner下拉列表(使用ArrayAdapter和自定義Adapter實現(xiàn))的相關資料,需要的朋友可以參考下2015-10-10

