Android 開發(fā)當(dāng)中,可能會(huì)存在許多自定義布局的需求,比如自定義彈出菜單(popupWindow),以及自定義對話框(Dialog)。
創(chuàng)新互聯(lián)是專業(yè)的修水網(wǎng)站建設(shè)公司,修水接單;提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行修水網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!話不多說,直接上圖片。
先講第一種,自定義PopUpWindow
1.popupWindow
protected void showPopWindow(View view, final int pos){ WindowManager wm= (WindowManager) myContext.getSystemService(Context.WINDOW_SERVICE); int width=wm.getDefaultDisplay().getWidth(); LayoutInflater layoutInflater=(LayoutInflater)myContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View popView=layoutInflater.inflate(R.layout.layout_shoucang_popupwindow,null); //加載彈出菜單的布局文件 final ListView lvpop= (ListView) popView.findViewById(R.id.lvShouCangPop); List<String> strData=new ArrayList<>(); strData.add("刪除"); strData.add("分享"); popView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED); popupWindow=new PopupWindow(popView,3*width/10, ViewGroup.LayoutParams.WRAP_CONTENT); //設(shè)置popupWindow 的大小 lvpop.setAdapter(new AdapterShouCangDeletePop(myContext,strData)); lvpop.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if(position==0){ //點(diǎn)擊刪除按鈕的邏輯 // ToastUtil.toastButtom(myContext,"點(diǎn)擊刪除按鈕"); // datas.remove(pos); //remove掉這行數(shù)據(jù) toActivityPos=pos; // notifyDataSetChanged(); sendDeleteBoardCast(); //發(fā)送一條廣播 popupWindow.dismiss(); }else if(position ==1){ //點(diǎn)擊分享的邏輯 String title=datas.get(position).ucDesc; String photoUrl=datas.get(position).ucIcon; String contentUrl=datas.get(position).ucUrl; DialogShouCangShare dialogShouCangShare=new DialogShouCangShare(myContext,title,photoUrl,contentUrl); //彈出分享對話框 dialogShouCangShare.show(); popupWindow.dismiss(); } } }); int[] location=new int[2]; view.getLocationOnScreen(location); popupWindow.setFocusable(true); popupWindow.setBackgroundDrawable(new BitmapDrawable());//最好加上這一句,因?yàn)樗梢匀∠@示這個(gè)彈出菜單,不加的話,彈出菜單很難消失 //下方:popupWindow.showAsDropDown(v); //popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0]+v.getWidth(), location[1]); 顯示在右邊 //popupWindow顯示在左邊 popupWindow.showAtLocation(view, Gravity.NO_GRAVITY , location[0]-popupWindow.getWidth(),location[1]); //這里的view是傳進(jìn)來的view,比如點(diǎn)擊事件中的view,就把它傳進(jìn)來,popupwindow的位置可以自行調(diào)整 }
當(dāng)前題目:Android自定義彈出菜單和對話框功能實(shí)例代碼-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://aaarwkj.com/article46/cdhehg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、響應(yīng)式網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、小程序開發(fā)、商城網(wǎng)站、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容