有时需要将Activity设置为Dialog风格,但是这时一般都不会需要Title了.
style如下:
<style name="DialogActivity" parent="@android:Theme.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
用这个style的时候,有个bug会使布局文件会出现混乱.
关于这个BUG:
https://code.google.com/p/android/issues/detail?id=7009
没有任何其他改变,仅仅只是改变windowNoTitle,布局文件展示出来就会不一样
这里的1L说可以用fixed width代替match_parent
这样宽度可以正常,但是还有部分属性会不起作用,比如layout_gravity,这简直无法接受.
既然加上Title就可以正常,我们就这样搞:
<style name="MyTitleStyle">
<item name="android:maxLines">1</item>
<item name="android:scrollHorizontally">true</item>
<item name="android:textAppearance">@style/MyTitleTextStyle</item>
</style>
<style name="MyTitleTextStyle">
<item name="android:textColor">#00000000</item>
<item name="android:textSize">16sp</item>
<item name="android:textStyle">normal</item>
</style>
然后在DialogActivity的style中加上这么一句:
<item name="android:windowTitleStyle">@style/MyTitleStyle</item>
把Title搞成透明,bug就被绕过去了