直接上效果图:
在实际开发中,我们往往需要用Activity来实现Dialog类型的布局。那这样的话,往往需要我们在styles中配置我们的相关的属性配置。
我今天跟大家讲的是如何在使用AppCompat_v7包中的属性,也就是你的activity继承的并不是activity.可能如下的情况:
import android.support.v7.app.AppCompatActivity;
class BaseActivity extends AppCompatActivity{
......
}
如果我们还要按以前的方式来设置dialog属性的话,肯定是不行的。那我们该如何做呢?
直接贴代码:
<style name="AlertNoActionBar" parent="@style/Theme.AppCompat.Light.NoActionBar">
<item name="windowActionBar">false</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowNoTitle">true</item><!--除去title-->
<item name="android:windowContentOverlay">@null</item>
<!-- <item name="android:backgroundDimEnabled">false</item> -->
<!-- <item name="android:windowBackground">@null</item> --><!--除去背景色-->
</style>
注意:在values 、values-v11、values-v14中的styles中都要写一份。
对了,如果还想点击Dialog外部则消息的话,大家可以做如下操作:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setFinishOnTouchOutside(true);
setContentView(R.layout.cloud_info);
}
当这些东西写好后,那我们只要到清单配置文件中加载主题样式就可以达到以上的效果了。