使用HoloEverywhere作为对话框的活动会切断布局

时间:2013-03-25 20:18:29

标签: android android-activity android-holo-everywhere

我在Android应用中使用HoloEverywhere库,以确保所有受支持设备的主题一致。但是,我在使用Holo.me.Dialog的活动遇到了麻烦:在我的Android 2.2模拟器上它显示正确,但在我的Android 4设备上(有实际的Holo主题可用),布局切断了右边的项目对话边缘。

我的问题是,如何强制使用具有库存Holo主题的设备而不是使用HoleEverywhere ?或者,如何修改HoloEverywhere以使活动在Android 4+设备上正确显示对话框

截图:

Dialog in Android 4+

Dialog in Android 2.2

2 个答案:

答案 0 :(得分:1)

我不确定这个错误是否已在HoloEverywhere中修复,但我的解决方案是将所有对话活动类更改为AlertDialogs。这需要一些代码更改,但现在我可以确保我的对话框看起来像预期的那样。

答案 1 :(得分:0)

以下是您需要做的事情:

  1. 在您的values文件夹中,在styles.xml文件中创建一个样式,引用Holo.Theme作为父项。就我而言,我使用了AppBaseTheme

    <style name="AppBaseTheme" parent="Holo.Theme.Light"></style>
    
  2. 在您的清单中,请确保您在活动和应用程序代码中引用此样式。

    <application
      ...
      android:theme="@style/AppBaseTheme" >
    
  3. 在res文件夹中创建一个名为values-11的文件夹(如果已经没有)

  4. 创建另一个styles.xml文件。

  5. 复制您之前在values文件夹中放置的相同样式,但引用4.0中包含的内置Holo主题

    <style name="AppBaseTheme" parent="android:Theme.Holo.Light"></style>