Android開發(fā)中PopupWindow用法實例分析
本文實例分析了Android開發(fā)中PopupWindow用法。分享給大家供大家參考,具體如下:
private TextView tv_appmanager_title;
private ListView lv_app_manager;
private LinearLayout ll_appmanager_loading;
private AppManagerProvider provider;
private List<AppManagerInfo> infos ;
private AppManagerAdapter adapter;
private PopupWindow localPopupWindow;
private Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case Constants.MSG_APP_MANAGER:
ll_appmanager_loading.setVisibility(View.INVISIBLE);
adapter = new AppManagerAdapter(infos, AppManagerActivity.this);
lv_app_manager.setAdapter(adapter);
break;
}
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.appmanager);
lv_app_manager = (ListView) this.findViewById(R.id.lv_app_manager);
ll_appmanager_loading = (LinearLayout) this.findViewById(R.id.ll_appmanager_loading);
ll_appmanager_loading.setVisibility(View.VISIBLE);
new Thread(){
public void run() {
provider = new AppManagerProvider(AppManagerActivity.this);
infos = provider.getAppManagerInfo();
Message msg = new Message();
msg.what = Constants.MSG_APP_MANAGER;
handler.sendMessage(msg);
};
}.start();
lv_app_manager.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if(null != localPopupWindow){
localPopupWindow.dismiss();
localPopupWindow = null;
}
int [] location = new int[2];
view.getLocationInWindow(location);
int x = location[0] + 60;
int y = location[1];
TextView tv = new TextView(AppManagerActivity.this);
AppManagerInfo info = (AppManagerInfo) lv_app_manager.getItemAtPosition(position);
tv.setText(info.getPackName());
tv.setTextSize(20);
tv.setTextColor(Color.RED);
localPopupWindow = new PopupWindow(tv, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
Drawable background = new ColorDrawable(Color.GRAY);
localPopupWindow.setBackgroundDrawable(background);
localPopupWindow.showAtLocation(tv, 51, x, y);
}
});
lv_app_manager.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if(null != localPopupWindow){
localPopupWindow.dismiss();
localPopupWindow = null;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if(null != localPopupWindow){
localPopupWindow.dismiss();
localPopupWindow = null;
}
}
});
}
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進階教程》、《Android通信方式總結(jié)》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
- Android編程實現(xiàn)popupwindow彈出后屏幕背景變成半透明效果
- Android Animation實戰(zhàn)之屏幕底部彈出PopupWindow
- Android編程之ICS式下拉菜單PopupWindow實現(xiàn)方法詳解(附源碼下載)
- android使用PopupWindow實現(xiàn)頁面點擊頂部彈出下拉菜單
- Android PopupWindow使用實例
- Android PopupWindow 點擊外面取消實現(xiàn)代碼
- Android中PopupWindow響應返回鍵并關(guān)閉的2種方法
- Android入門之PopupWindow用法實例解析
- android教程之使用popupwindow創(chuàng)建菜單示例
- Android之用PopupWindow實現(xiàn)彈出菜單的方法詳解
- android popwindow實現(xiàn)左側(cè)彈出菜單層及PopupWindow主要方法介紹
- android PopupWindow 和 Activity彈出窗口實現(xiàn)方式
相關(guān)文章
Android編程實現(xiàn)下載圖片及在手機中展示的方法
這篇文章主要介紹了Android編程實現(xiàn)下載圖片及在手機中展示的方法,涉及Android針對圖形文件的遠程下載及遍歷顯示相關(guān)操作技巧,需要的朋友可以參考下2017-02-02
使用genymotion訪問本地上Tomcat上數(shù)據(jù)的方法
下面小編就為大家?guī)硪黄褂胓enymotion訪問本地上Tomcat上數(shù)據(jù)的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03
全面解析Android的開源圖片框架Universal-Image-Loader
這篇文章主要介紹了Android的開源圖片框架Universal-Image-Loader,Universal-Image-Loader在GitHub上開源,其提供的圖片加載功能令人印象相當深刻,需要的朋友可以參考下2016-04-04
Android學習筆記之ActionBar Item用法分析
這篇文章主要介紹了Android學習筆記之ActionBar Item用法,結(jié)合實例形式分析了ActionBar Item的具體功能與相關(guān)使用技巧,需要的朋友可以參考下2017-05-05

