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>
  • 相关阅读:
    delphi Int64Rec 应用实例
    PerformEraseBackground 擦除背景(ThemeServices)
    Delphi 的 Bit
    delphi 关于 "高位" 与 "低位"
    PByte和PChar的关系
    执行控制台程序并且获得它的输出结果
    Console下Pause效果的函数
    ByteType字符串中判断是否英文
    窗体包括标题作为一个位图复制到剪贴板
    inf 启动
  • 原文地址:https://www.cnblogs.com/kangweifeng/p/4898093.html
Copyright © 2011-2022 走看看