編輯:關於Android編程
先來看下Android API 的這個Methods:
If the popup is showing, calling this method will take effect only the next time the popup is shown or through a manual call to one of the
update() methods.
Parameters
isOutsideTouchable()isShowing()update()
就是說,基本通過這個屬性和setFocusable(true);就能實現點擊別的區域讓popup消失,
也可以這樣做,設置點擊popup窗體自身,讓其消失,通過下邊的方法即root重寫onTouch方法:
//點擊窗體,PopupWindow消失
root.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
popup.dismiss();
return true;
}
});
@Override
public boolean onTouchEvent(MotionEvent event) {
if (popup != null && popup.isShowing()) {
popup.dismiss();
popup= null;
}
return super.onTouchEvent(event);
}其實,罪魁禍首就是, popup的代碼順序, 手賤先調用了 showAsDropDown()方法,在設置其他屬性,導致了這種情況.
showAsDropDown這個方法相當於 Dialog.show()方法, 如果是先show了, 然後其他屬性即使是設置了,也起不到應有的作用.
這一點,經常提醒別人,沒想到到popup這裡我犯了同樣的錯誤.
Android:自定義toast
效果圖:代碼: //自定義布局的toast customViewToast.setOnClickListener(new View.OnClick
Android ApiDemo示例工程的創建
一般SDK中都會帶有一些示例程序,說明具體用法,Android SDK也是如此。它提供了一些ApiDemo示例,詳細說明了Android中主要API,分為以
Android網絡編程(一)HTTP協議原理
前言這篇文章是這個系列的開篇,作為移動開發者,開發的應用不免會對網絡進行訪問,雖然現在已經有很多的開源庫幫助我們可以輕而易舉的訪問網絡,但是我們仍要去了解網絡訪問的原理,
Android procrank查看內存使用情況
使用adb shell procrank手機中的sh是經過精簡過的,有些手機可能沒有 procrank 命令,可以使用genymotion模擬器,或是自己安裝procra