zoukankan      html  css  js  c++  java
  • android基类Dialog

    import android.app.Dialog;
    import android.content.Context;
    import android.os.Bundle;
    import android.util.DisplayMetrics;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.WindowManager;
    import android.widget.BaseAdapter;
    
    import com.xh.boke.R;
    
    /**
     * 自定义基类Dialog
     * Created by Administrator on 2015/10/21 0021.
     */
    public class BaseDialog extends Dialog {
    
        protected Context mContext;
        protected BaseAdapter mAdapter;
        protected View convertView;
        protected int resId;    //view
        protected double percent; //屏幕宽度百分比
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            init();
        }
    
        public BaseDialog(Context context, int resId,double percent) {
            super(context, R.style.common_custom_dialog);
            this.mContext=context;
            this.resId =resId;
            this.percent = percent;
        }
    
        public BaseDialog(Context context, int resId,BaseAdapter adapter,double percent) {
            super(context, R.style.common_custom_dialog);
            this.mContext=context;
            this.mAdapter = adapter;
            this.resId =resId;
            this.percent = percent;
        }
    
        protected void init() {
            //设置布局
            convertView = LayoutInflater.from(mContext).inflate(resId, null);
            this.setContentView(convertView);
    
            // 获取屏幕的宽高
            WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
            DisplayMetrics dm = new DisplayMetrics();
            wm.getDefaultDisplay().getMetrics(dm);
    
            WindowManager.LayoutParams p = getWindow().getAttributes(); // 获取对话框当前的参数值
            p.width = (int) (dm.widthPixels * percent); // 宽度设置为屏幕的百分比
            this.getWindow().setAttributes(p);
        }
    }

    styles.xml

    <resources>
    
        <!-- dialog默认样式 -->
        <style name="common_custom_dialog" parent="android:style/Theme.Dialog">
            <item name="android:windowFrame">@null</item>
            <item name="android:windowIsFloating">true</item>
            <item name="android:windowIsTranslucent">true</item>
            <item name="android:windowNoTitle">true</item>
            <item name="android:background">@android:color/transparent</item>
            <item name="android:windowBackground">@android:color/transparent</item>
            <item name="android:backgroundDimEnabled">true</item>
            <item name="android:backgroundDimAmount">0.6</item>
        </style>
    
    </resources>
  • 相关阅读:
    jquery全屏幻灯轮播焦点图
    PHP curl 上传文件版本兼容问题
    一个网站同一域名不同目录下的文件访问到的cookie值不同是什么原因?
    Linux系统查找清理磁盘大文件方法
    REDIS常用命令
    CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法
    centos6 编译安装nodejs4.3
    centos yum安装php5.6.19 remi源按照
    Mac下用brew搭建PHP(LNMP/LAMP)开发环境
    为什么JAVA要提供 wait/notify 机制?是为了避免轮询带来的性能损失
  • 原文地址:https://www.cnblogs.com/kangweifeng/p/4898093.html
Copyright © 2011-2022 走看看