Dialog全屏设置

全屏最主要的方法就是:

getWindow().setBackgroundDrawable(new ColorDrawable(Color.WHITE));//背景颜色一定要有,看自己需求
getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);//宽高最大

下面我把我的全屏dialog小demo发一下,这个自定义的dialog是继承系统的Dialog类写的。小白一看就懂,超简单。

public class SexDialog  extends Dialog {

    private Button btRetry;
    private View view;
    public  SexDialog(Context context){
        super(context);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        view = LayoutInflater.from(getContext()).inflate(R.layout.dialog, null);//加载自定义布局
        btRetry=(Button)view.findViewById(R.id.button2);
        setContentView(view);

        btRetry.setBackgroundColor(Color.RED);
        getWindow().setBackgroundDrawable(new ColorDrawable(Color.WHITE));
        getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
        setCanceledOnTouchOutside(false); // 点击屏幕Dialog以外的地方是否消失
        setBtLinstener();
    }

    /**
     * Button监听
     */
    public void  setBtLinstener() {
        btRetry.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                onSexClick.setOnsex("调试成功");
            }
        });
    }

    private onSexClick onSexClick;
    /**
     * 通过接口监听事件
     */
    public void setOnSexClick(onSexClick sexClick) {
        this.onSexClick = sexClick;
    }

    /**
     *   定义回调接口
     */
    public interface onSexClick {
        void setOnsex(String sex);
    }


}

这就是自定义diaog的类,小白可以直接复制粘贴,然后导下包就好,dialog的布局文件R.layout.dialog如下

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:textSize="20sp"
    android:text="重试" />

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_above="@+id/button2"
    android:layout_marginBottom="10dp"
    android:textSize="15sp"
    android:text="网络连接失败,请点击重试" />

然后下面是调起这个dialog的方法

final SexDialog sexDialog = new SexDialog(MainActivity.this);
sexDialog.show();
sexDialog.setOnSexClick(new SexDialog.onSexClick() {
    @Override
    public void setOnsex(String sex) {
        Toast.makeText(MainActivity.this, "网络连接重试成功" + sex, Toast.LENGTH_LONG).show();
        sexDialog.dismiss();
    }
});

猜你喜欢

转载自blog.csdn.net/qq_34111411/article/details/81096474