简单的dialog菜单

本文介绍的是我自己做的一个简单的dialog菜单,可以直接植入到类中。

方法代码:

/** 显示一个靠右上的dialog列表菜单*/
private void showTopBarRightButtonDropListDialog() {   final Dialog dialog = new Dialog(this, R.style.DialogStyle);   LinearLayout linearLayout = new LinearLayout(this);   linearLayout.setOrientation(LinearLayout.VERTICAL);   ViewGroup.LayoutParams params0 = new ViewGroup.LayoutParams(200, ViewGroup.LayoutParams.WRAP_CONTENT);   linearLayout.setLayoutParams(params0);   // 获取屏幕的信息   DisplayMetrics dm = new DisplayMetrics();   getWindowManager().getDefaultDisplay().getMetrics(dm);   // 添加子视图   Button btn1 = new Button(this);   Button btn2 = new Button(this);   Button btn3 = new Button(this);   Button btn4 = new Button(this);   Button btn5 = new Button(this);   btn1.setText("1");   btn2.setText("2");   btn3.setText("3");   btn4.setText("4");   btn5.setText("5");   LinearLayout.LayoutParams params1 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, (int)(50 * dm.density));   btn1.setLayoutParams(params1);   btn2.setLayoutParams(params1);   btn3.setLayoutParams(params1);   btn4.setLayoutParams(params1);   btn5.setLayoutParams(params1);   btn1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { dialog.dismiss(); } }); btn2.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { dialog.dismiss(); } }); btn3.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { dialog.dismiss(); } }); linearLayout.addView(btn1); linearLayout.addView(btn2); linearLayout.addView(btn3); linearLayout.addView(btn4); linearLayout.addView(btn5); dialog.setContentView(linearLayout); dialog.setCanceledOnTouchOutside(true); dialog.show(); setDialogSize(dialog); }

private void setDialogSize(Dialog dg) {

 
  

  Window dialogWindow = dg.getWindow();
  WindowManager.LayoutParams lp = dialogWindow.getAttributes();
  dialogWindow.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
  dialogWindow.setGravity(Gravity.RIGHT | Gravity.TOP);
  //显示的坐标
  lp.x = 150;
  lp.y = 50;
  dialogWindow.setAttributes(lp);
 }

 
 

R.Style.DialogStyle内容:

<style name="DialogStyle">  
        <item name="android:windowBackground">@android:color/transparent</item>  
        <item name="android:windowFrame">@null</item>  
        <item name="android:windowNoTitle">true</item>  
        <item name="android:windowIsFloating">true</item>  
        <item name="android:windowIsTranslucent">true</item>  
        <item name="android:windowContentOverlay">@null</item>  
        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>  
        <item name="android:backgroundDimEnabled">true</item>  
</style>

  以上是完整的代码。

 

转载于:https://www.cnblogs.com/swalka/p/4725319.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值