zoukankan      html  css  js  c++  java
  • android自定义透明dialog菜单

    制作菜单时,我用了dialog加载一个view的方式,但是总是会出现一些黑色阴影,消除方法其实很简单;

    首先在style.xml文件里面定义一下dialgo样式,如果没有就新建一下

    style.xml

    <style name="Dialog" parent="android:style/Theme.Dialog"> 
         <item name="android:windowNoTitle">true</item> 
         <item name="android:windowFrame">@null</item> <!--边框-->
         <item name="android:windowIsFloating">true</item> <!--是否浮现在activity之上-->
         <item name="android:windowIsTranslucent">true</item><!--半透明-->  
        <item name="android:background">@android:color/transparent</item><!--背景透明-->
        <item name="android:windowBackground">@android:color/transparent</item><!--背景透明-->
         <item name="android:backgroundDimEnabled">true</item> <!--蒙版- 模糊 -->
     </style> 


    java里创建 dialog的时候直接加载就好了

    @Override
    	public boolean onKeyDown(int keyCode, KeyEvent event) {
    		if (keyCode == KeyEvent.KEYCODE_MENU && event.getRepeatCount() == 0) {
    
    		Dialog	dialog_about = new Dialog(LinkMap.this, R.style.Dialog);// 去白框dialog里面具体设置样式
    			dialog_about.setContentView(MenuView());
    
    			// 定义dialog大小跟位置(默认Gravity是局中)
    			Window dialogWindow = dialog_about.getWindow();
    			dialogWindow.setGravity(Gravity.BOTTOM | Gravity.BOTTOM);
    
    			dialog_about.setCanceledOnTouchOutside(true);// 设置点击Dialog外部任意区域关闭Dialog
    			dialog_about.show();
    
    			Log.i("menuview", "Menuclick");
    
    		}
    
    		if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
    			dialog();
    			return false;
    		}
    		return false;
    	}
    

     menuview

     

    	// 菜单view
    	public View MenuView() {
    		View view = super.getLayoutInflater().inflate(R.layout.aboutview, null);
    		// 登录/注册
    		ImageButton btnlogin = (ImageButton) view.findViewById(R.id.btnlogin);
    		btnlogin.setOnClickListener(new OnClickListener() {
    
    			@Override
    			public void onClick(View arg0) {
    				// TODO Auto-generated method stub
    				Intent intent = new Intent(LinkMap.this, Login.class);
    				startActivity(intent);
    			}
    		});
    

      

    ok了。。

    Crazy Cherry:everything is possible!
  • 相关阅读:
    http的url长度限制
    windows xp unlock 很慢
    C++的vector::push_back()和vector::resize()比较
    手机开发的7种机型列表
    DELPHI中对NT服务型程序的控制单元
    ICON图标下载地址汇总
    Solving the 'cannot find drf file' problem when compiling packages.
    Delphi常用属性和事件
    免费delphi组件收集
    Delphi中关于Canvas.TextOut
  • 原文地址:https://www.cnblogs.com/userbibi/p/2524099.html
Copyright © 2011-2022 走看看