全屏最主要的方法就是:
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(); } });