需要得到一种点击得到一个菜单的功能,由于需求,选择了dialog;
dialog = new Dialog(a);
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);//去掉标题dialog.setContentView(menu);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(0));
int screenWidth = getResources().getDisplayMetrics().widthPixels;
int screenHeight = getResources().getDisplayMetrics().heightPixels;
int statusBarHeight = getStatusBarHeight();
//getResources().getDisplayMetrics().density为手机像素密度,值为px/dp得到的
int tabHeight = (int)getResources().getDisplayMetrics().density*45;
int m= 1-(statusBarHeight+tabHeight)/screenHeight;
Window dialogWindow = dialog.getWindow();
dialogWindow.setGravity(Gravity.RIGHT | Gravity.BOTTOM);
dialogWindow.setLayout(screenWidth/5*3, screenHeight -statusBarHeight-tabHeight);
宽度已经完成了效果,占屏幕的3/5,但是高度总是不能不满,找了半天找不到原因,最后发现错在了布局的LinearLayout中应该为match-parent