android--------Popupwindow的使用
生活随笔
收集整理的這篇文章主要介紹了
android--------Popupwindow的使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
PopupWindow在Android.widget包下,項(xiàng)目中經(jīng)常會使用到PopupWindow做菜單選項(xiàng),? PopupWindow這個(gè)類用來實(shí)現(xiàn)一個(gè)彈出框,可以使用任意布局的View作為其內(nèi)容,這個(gè)彈出框是懸浮在當(dāng)前activity之上的。
效果圖:
MainActivity.java
public class MainActivity extends Activityimplements OnClickListener {private PopupWindow mPopWindow;private View parentView;private Context context;ImageView mImageViewBar;@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);context = this;initView();}private void initView() {// TODOAuto-generated method stubparentView =getLayoutInflater().inflate(R.layout.activity_main,null);mImageViewBar =(ImageView) findViewById(R.id.menu);mImageViewBar.setOnClickListener(this);showPopupWindow();}private void showPopupWindow() {LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);View contentView =inflater.inflate(R.layout.popuplayout,null);mPopWindow = newPopupWindow(contentView);mPopWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);mPopWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);mPopWindow = newPopupWindow();// 設(shè)置SelectPicPopupWindow的ViewmPopWindow.setContentView(contentView);// 設(shè)置SelectPicPopupWindow彈出窗體的寬mPopWindow.setWidth(LayoutParams.WRAP_CONTENT);// 設(shè)置SelectPicPopupWindow彈出窗體的高mPopWindow.setHeight(LayoutParams.WRAP_CONTENT);// 設(shè)置SelectPicPopupWindow彈出窗體可點(diǎn)擊mPopWindow.setFocusable(true);mPopWindow.setOutsideTouchable(true);// 刷新狀態(tài)mPopWindow.update();// 實(shí)例化一個(gè)ColorDrawable顏色為半透明ColorDrawable dw = new ColorDrawable(0000000000);// 點(diǎn)back鍵和其他地方使其消失,設(shè)置了這個(gè)才能觸發(fā)OnDismisslistener,設(shè)置其他控件變化等操作mPopWindow.setBackgroundDrawable(dw);contentView.findViewById(R.id.memu1).setOnClickListener(this);contentView.findViewById(R.id.memu2).setOnClickListener(this);contentView.findViewById(R.id.memu3).setOnClickListener(this);}@Overridepublic void onClick(View v) {int id =v.getId();switch (id) {case R.id.menu:mPopWindow.showAsDropDown(mImageViewBar);break;case R.id.memu1: {Toast.makeText(context,"消息", Toast.LENGTH_SHORT).show();mPopWindow.dismiss();}break;case R.id.memu2: {Toast.makeText(context,"收藏", Toast.LENGTH_SHORT).show();mPopWindow.dismiss();}break;case R.id.memu3: {Toast.makeText(context,"首頁", Toast.LENGTH_SHORT).show();mPopWindow.dismiss();}break;}}@Overrideprotected void onDestroy() {// TODOAuto-generated method stubsuper.onDestroy();mPopWindow.dismiss();}}?
?源代碼下載
轉(zhuǎn)載于:https://my.oschina.net/zhangqie/blog/793726
總結(jié)
以上是生活随笔為你收集整理的android--------Popupwindow的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式交换机配置备份和还原
- 下一篇: axis2开发webservice之编写