0

假设我选择为所有东西选择我自己的颜色,冒着不完全适合周围应用程序的风险。

我担心的是,即使None我在 Eclipse 中选择了我的主题,我仍然会得到一些默认主题:

res/values/styles.xml

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

    <style name="AppTheme" parent="AppBaseTheme">
    </style>
</resources>

res/values-v14/styles.xml

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

我的问题是:如果我的颜色在 Android 上看起来或多或少是和谐的,如果我从styles.xml中删除 AppBaseTheme 和 AppTheme 以及在 中删除android:theme,我是否需要担心AndroidManifest.xml

4

3 回答 3

0

如果您要使用自己的颜色,只需创建自己的主题并将其设置为AppTheme

于 2013-06-25T19:17:23.777 回答
0

与直接在内部使用style属性一样,HTML您将无法在不同的视图中重用样式,除非您将相同的样式写入您想要的每个视图。

编写自己的主题并将其提供给视图/activities您想要自定义主题/样式更容易。

我的意思是:如果您直接在视图中添加样式,那么您将无法轻松控制样式,Activities并且随着应用程序的增长,以后实现全局样式可能会变得一团糟。

还要引用官方的 Android 主题指南

Android 中的样式与网页设计中的层叠样式表有着相似的理念——它们允许您将设计与内容分开。

并回答您的问题:不,您不必担心。您可以删除任何您想要的内容,但由于上述原因,建议您不要使用 styles.xml。

于 2013-06-25T22:02:22.473 回答
0

答案是否定的,你没有。每个 android 设备都有一个基于安装版本和制造商的默认主题。

例如,创建一个带有进度条且完全没有样式和主题的布局,然后在具有 api 10 的模拟器和另一个具有 api 17 的模拟器中运行应用程序。由于使用了默认主题,您将看到设计上的差异。如果您的应用程序以 api 10 为目标并在具有更高 api 的设备上运行,则会发生同样的事情,应用程序的样式将来自 api 10。

如果您在自定义样式中遗漏了某些内容,那么这些内容将根据您的应用所针对的 api 的默认主题进行设计。除了丑陋之外,这可能会导致糟糕的用户体验。此外,在较新版本的 android 中,有一些 ui 元素(如操作栏)只能基于平台样式和主题工作,这是您最大的风险(恕我直言)。

底线是,如果你不关心样式,那么让 android 处理所有事情,不要从你的 res 和 manifest 中删除样式和主题引用。如果您想自己设置所有样式,那么通往成功的最佳途径是遵循 android 提供的样式系统并覆盖属性以创建自己的样式。

希望这可以帮助...

PS 请记住,样式不仅是颜色,在创建自己的样式时,您还必须考虑许多其他事情(例如尺寸、状态列表、动画、可绘制对象、9 个补丁等)。 .

于 2013-06-25T23:38:06.170 回答