android Dialog全屏

很多时候Dialog很难实现我们需要的功能。这种时候可以使用Activity并给它一个Dialog样式。

第一步:在styles.xml中添加以下样式。注意:因为我使用的是AppCompatActivity,因此style的parent我选择的是Theme.AppCompat.Light.Dialog,并且设置是否显示标题的item的name为windowNoTitle,而当继承Activity时,name应为android:windowNoTitle


第二步:为Activity编写进入和退出的动画,并在styles.xml加入以下代码。


第三步:在AndroidManifest.xml中,在需要设计成Dialog样式的Activity中添加

android:theme="@style/NoTitleDialog" 

第四步:在Activity对应的java文件中设置窗口的宽高与位置。

getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
getWindow().setGravity(Gravity.CENTER);

上面第四部可以会出现抖动的现象,可以用下面的方法解决 `

获取屏幕的默认分辨率 
Display display =    getWindowManager().getDefaultDisplay();
 heigth = display.getWidth();   
 width = display.getHeight(); 
  getWindow().setLayout(width , heigth );  
getWindow().setGravity(Gravity.CENTER);

你可能感兴趣的:(Android)