0

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

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

截图:

Android 4+ 中的对话框

Android 2.2 中的对话框

4

2 回答 2

1

我不确定这个错误是否已在 HoloEverywhere 中修复,但我的解决方案是将我的所有对话框活动类更改为 AlertDialogs。这需要一些代码更改,但现在我可以确定我的对话框将按预期显示和运行。

于 2013-04-01T15:00:15.020 回答
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>
    
于 2013-04-11T17:59:31.463 回答