如何在Android應用中添加一個自定義彈框?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
網(wǎng)站建設哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了江都免費建站歡迎大家使用!
實現(xiàn)步驟:
1.xml布局實現(xiàn)
<?xml version="1.0" encoding="utf-8"?>
2.drawable文件下的轉(zhuǎn)角,然后在布局引用
<?xml version="1.0" encoding="utf-8"?>
3.activity的實現(xiàn)
/** * 彈框 */ private View mPopupHeadViewy;//創(chuàng)建一個view private PopupWindow mHeadPopupclly;//PopupWindow private TextView tetle, textdz;//title,打折 private TextView textwzdl, textckxq;//我知道了,查看詳情 @SuppressWarnings("deprecation") private void popupHeadWindowcll() { mPopupHeadViewy = View.inflate(getActivity(), R.layout.tankuang_layout, null); tetle = (TextView) mPopupHeadViewy.findViewById(R.id.tetle); textdz = (TextView) mPopupHeadViewy.findViewById(R.id.textdz); textwzdl = (TextView) mPopupHeadViewy.findViewById(R.id.textwzdl); textckxq = (TextView) mPopupHeadViewy.findViewById(R.id.textckxq); mHeadPopupclly = new PopupWindow(mPopupHeadViewy, AbsListView.LayoutParams.MATCH_PARENT, AbsListView.LayoutParams.MATCH_PARENT, true); // 在PopupWindow里面就加上下面代碼,讓鍵盤彈出時,不會擋住pop窗口。 mHeadPopupclly.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); mHeadPopupclly.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); mHeadPopupclly.setBackgroundDrawable(new BitmapDrawable()); mHeadPopupclly.setOutsideTouchable(true); mHeadPopupclly.showAsDropDown(textviewid, 0, 0); textwzdl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mHeadPopupclly.dismiss(); } }); textckxq.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mHeadPopupclly.dismiss(); Toast.makeText(getActivity(), "查看詳情", Toast.LENGTH_LONG).show(); } }); }
注意:
1、
mHeadPopupclly = new PopupWindow(mPopupHeadViewy, AbsListView.LayoutParams.MATCH_PARENT, AbsListView.LayoutParams.MATCH_PARENT, true);
這句代碼就是控制彈出框是鋪滿屏幕還是自適應
2、
mHeadPopupclly.showAsDropDown(textviewid, 0, 0);
這句話是這個彈框基于哪個控件之下,textviewid是控件名,后面兩個是坐標
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。