简单的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>
以上是完整的代码。
简单的dialog菜单的更多相关文章
- dialog 菜单
dialog 菜单 # 默认将所有输出用 stderr 输出,不显示到屏幕 使用参数 --stdout 可将选择赋给变量 # 退出状态 0正确 1错误 窗体类型 --calendar # 日历 --c ...
- jQuery简单的手风琴菜单
查看效果:http://keleyi.com/keleyi/phtml/menu/5.htm 本菜单的HTML代码和JS代码都简洁,完整源代码: <!DOCTYPE html PUBLIC &q ...
- Python简单实现多级菜单
# -*- coding: utf-8 -*- # @Time : 2018-06-01 13:40 # @Author : 超人 # @Email : huxiaojiu111@gmail.com ...
- 【shell 练习5】编写简单的多级菜单
一.简单的多级菜单 [root@web129 ~]# cat menu.sh #!/bin/bash #shell菜单演示 function menu() { echo -e `date` cat & ...
- EasyUI+zTree实现简单的树形菜单切换
使用easyui_ztree实现简单的树形菜单切换效果 <!DOCTYPE html> <html> <head> <meta charset="U ...
- WPF一个简单的垂直菜单样式的实现
以前制作类似于垂直菜单功能的控件我都是Listbox和一个Popup实现的,今天尝试着用Menu做了一个简单垂直菜单,就当是做了个小练习写了这篇随笔~: 有什么不对的地方希望大家指正,分享和记录也是一 ...
- dialog 菜单实例
dislog 菜单实例 while : do clear menu=`dialog --title system custom` [ $? -eq ] && echo "$m ...
- 简单的 Android 菜单
Android 创建简单的菜单 一:上下文菜单: 1.在 res 下创建菜单项资源文夹 menu app->右击res->new->android resourse director ...
- 简单的js菜单
<!DOCTYPE html> <html> <head> <title>hovertree</title><base target= ...
随机推荐
- KMP算法的Next数组详解(转)
转载请注明来源,并包含相关链接. 网上有很多讲解KMP算法的博客,我就不浪费时间再写一份了.直接推荐一个当初我入门时看的博客吧: http://www.cnblogs.com/yjiyjige/p/3 ...
- Java的byte数组
今天我们讨论一下Java的byte数组.byte数组就是字节数组,每一位存一个字节.看下面程序,猜猜输出多少? package com.wjy.bytes; import java.io.File; ...
- PPPOE 模拟环境搭建
这段时间.包含我自己測试OTT盒子 PPPOE的时候比較痛苦.要不就是在别人的位置上測试.要不就是借用PPPOE的设备,认为还是自己搭建一个PPPOE真实拨号上网的环境多好! 可是坑爹的win7找不到 ...
- 一次失败的刷题经历:[LeetCode]292之尼姆游戏(Nim Game)(转)
最近闲来无事刷LeetCode,发现这道题的Accept Rate还是挺高的,尝试着做了一下,结果悲剧了,把过程写下来,希望能长点记性.该题的描述翻译成中文如下: 你正在和你的朋友玩尼姆游戏(Nim ...
- Python做的眼睛护士
搞了两天终于搞定了,虽然还存在一点点小问题(窗口的显示位置应该设在(0,0)).但基本可以用了. 代码分两个部分.主界面和遮挡屏幕界面.主界面设置完时间后调用遮挡屏幕界面. 1.主界面(设置 工作时间 ...
- Android判断应用程序从后台回到前台
MainActivity如下: package cc.testbackgroundtofront; import java.util.List; import android.app.Activity ...
- Jndi使用好处,与简单实例【JBOSS】
JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有 ...
- DOM解析XML文件实例
XML文件: response: <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www ...
- Oracle自增列创建方法
最近在做Oracle的项目,由于以前没有接触过Oracle的开发,遇到了不少的问题,比如给Oracle表添加自增列,与SQL Server就不同. Oracle没有自增字段这样的功能,但是通过触发器( ...
- asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功。请重试。 Login控件
原文:asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功.请重试. Login控件 现象1.asp.net使用自定义sql server身份验证数据库,在A机器新增用户A,可以登录成 ...