我在Android应用中使用HoloEverywhere库,以确保所有受支持设备的主题一致。但是,我在使用Holo.me.Dialog的活动遇到了麻烦:在我的Android 2.2模拟器上它显示正确,但在我的Android 4设备上(有实际的Holo主题可用),布局切断了右边的项目对话边缘。
我的问题是,如何强制使用具有库存Holo主题的设备而不是使用HoleEverywhere ?或者,如何修改HoloEverywhere以使活动在Android 4+设备上正确显示对话框?
截图:
答案 0 :(得分:1)
我不确定这个错误是否已在HoloEverywhere中修复,但我的解决方案是将所有对话活动类更改为AlertDialogs。这需要一些代码更改,但现在我可以确保我的对话框看起来像预期的那样。
答案 1 :(得分:0)
以下是您需要做的事情:
在您的values文件夹中,在styles.xml文件中创建一个样式,引用Holo.Theme作为父项。就我而言,我使用了AppBaseTheme
<style name="AppBaseTheme" parent="Holo.Theme.Light"></style>
在您的清单中,请确保您在活动和应用程序代码中引用此样式。
<application
...
android:theme="@style/AppBaseTheme" >
在res文件夹中创建一个名为values-11的文件夹(如果已经没有)
创建另一个styles.xml文件。
复制您之前在values文件夹中放置的相同样式,但引用4.0中包含的内置Holo主题
<style name="AppBaseTheme" parent="android:Theme.Holo.Light"></style>