当前位置: 移动技术网 > IT编程>移动开发>Android > Android开发中PopupWindow用法实例分析

Android开发中PopupWindow用法实例分析

2019年07月24日  | 移动技术网IT编程  | 我要评论

逃亡鳄鱼岛迅雷下载,windows98镜像,flashboot汉化版

本文实例分析了android开发中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;
      }
    }
  });
}

更多关于android相关内容感兴趣的读者可查看本站专题:《android开发入门与进阶教程》、《android通信方式总结》、《android基本组件用法总结》、《android视图view技巧总结》、《android布局layout技巧总结》及《android控件用法总结

希望本文所述对大家android程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网