问题标签 [android-theme]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4031 浏览

android - WebView 如何从当前的 Android 主题继承颜色?

这个问题最初是在上周举行的 AndroidDev Office Hours Hangout 的 Google 版主上发布的。这个问题实际上是现场回答的,如果你愿意,你可以在这里观看。我把它贴在这里是因为他们似乎对它很感兴趣,在这里我有更多的空间来详细说明。

AWebView通常用于按作者的意图显示 Web 内容(正如他们在环聊中所说的那样)。但我使用 aWebView来显示的不是内容本身,而是格式化的文本(主要是粗体、斜体、项目符号列表和文本对齐方式)。使用 a WebView(换句话说,使用 HTML/CSS 更容易)比使用一堆 TextView 并保持其完美格式要容易得多。

问题是我WebViewAlertDialog. 文本颜色来自加载的WebView内容 CSS,但重要的是此颜色与AlertDialog. 这就是我的问题。

直到 Android 2.3,AlertDialog背景总是很暗。应用程序主题是默认的深色还是浅色都没关系,它AlertDialog仍然是深灰色。这在香草 Android 上。但即使在皮肤 Android(Sense、TouchWiz、MotoBlur 等)上,它AlertDialog也一直是深色(对于默认/深色和浅色主题)。

这一切都随着 ICS 发生了变化(它可能在 Honeycomb 上发生了变化,但我没有确认)。默认/深色主题现在有一个深色AlertDialog,而浅色主题实际上有一个浅色AlertDialog

由于我在我的应用程序中专门使用轻主题,我可以通过WebView使用不同的 CSS 文件加载内容来轻松解决我的问题。一种对于 ICS 以下的版本具有深色文本颜色,对于 ICS 及以上版本具有另一种浅色文本颜色。如果不是 OEM 皮肤,这将主要解决我的问题。

在他们的 ICS 皮肤版本中,他们可能会为AlertDialog. 或不。他们更有可能做他们一直在做的事情,像往常一样提供深色和浅色主题,但对于AlertDialog唯一的深色版本,无论应用程序的主题如何。

我可以强制Holo我的应用程序并以这种方式解决问题,但我不希望干扰整个系统在用户设备上的外观。例如,如果他们有 Sense 并且真的很喜欢它,我不想在使用我的应用程序时显示Holo主题。AlertDialog

最终,我的问题是:

那么,我该如何应对呢?如何确保我的文本在背景下WebView可读AlertDialog?无论是 Android 版本、所使用的主题或是否由 OEM 皮肤...

我不知道这有多可行,但解决此问题的一种替代方法是以某种方式从AlertDialog设备中的主题中提取文本颜色。但不是默认主题或Holo主题,而是DeviceDefault我相信的主题。

这种提取容易吗?它可以很好地解决我的问题吗?你还有其他选择吗?

最后一个细节......如果你观看了视频群聊,并且对于那些真正回答我的人来说,其中一个人建议注入 CSS。如果我之前不清楚,我不需要这样做。我只需要WebView使用我想要的确切 CSS 构建内容字符串,它可以采用从主题中提取的文本颜色。

0 投票
1 回答
19251 浏览

android - 不同Android SDK版本的不同主题

有没有办法根据安装应用程序的 SDK 版本来使用不同的主题?

我问的原因是因为我想一直支持到 SDK 版本 8,但是对于那些拥有 ICS 的用户,我希望能够遵循 ICS 的设计标准并使用 Holo 主题。

我可以从Program different layouts for different versions in android中看到,我可以有一个文件夹 values-v14 ,它将有一个 theme.xml 来覆盖主题声明。但是,如果我引用 Theme.Holo,它将无法编译。我相信这是因为我的 AndroidManifest.xml 中有以下内容

任何指针将不胜感激。

更新:-好的,这是我的文件:- AndroidManifest.xml:

res/values/themes.xml:

res/values-v11/themes.xml:

这与我在这里阅读的文章一致:- http://android-developers.blogspot.com/2012/01/holo-everywhere.html

当我这样做时,我在 Eclipse 中得到一个编译错误,说: -

0 投票
2 回答
321 浏览

android - 申请从源代码构建 Astrid 应用程序

我试图从源代码构建 Astrid 应用程序,但在将代码导出到 Eclipse 后出现了几个错误:

0 投票
1 回答
5402 浏览

android - 2.3 上的 Android 自定义主题,4.0 上的全息主题

我阅读了http://android-developers.blogspot.com/2012/01/say-goodbye-to-menu-button.html但有一些问题。对于 pre-honeycomb 我想要一个自定义标题,对于 post-honeycomb 我想要默认标题。当我尝试在 ICS 上运行我的应用程序时

如果我删除自定义标题,它在所有版本上都可以正常工作,只是没有自定义标题。

在 values-v11 我有包含以下内容的 theme.xml 文件:

所以我的主题文档说基本上不使用自定义主题。

如果我删除

然后主题在 ICS 上正确显示。

我无法想象我必须在编码级别检查我运行的 API 级别以及是否请求窗口功能,这应该由系统处理。

谢谢。

0 投票
2 回答
3937 浏览

android - 如何在不使用 Eclipse 的情况下创建 .apk 文件

我想为 Android 创建“主题创建者”,所以我想在创建主题后创建 .apk 文件。谁能指导我如何进行?在这方面的任何帮助将不胜感激。

0 投票
0 回答
1253 浏览

android - 如何为 android 创建主题创建者应用程序(类似于 Go Launcher Theme Maker)?

我想为 Android 开发类似于“Go Launcher Theme Maker”(http://www.goforandroid.com/GDTEn/soft.aspx?softid=21&nav=2)的主题制作器。是否有人知道“Go Launcher”在创建新主题后如何创建 .apk 文件。谁能指导我如何进行?在这方面的任何帮助将不胜感激。

0 投票
2 回答
695 浏览

android - Android:我可以更改标题栏的位置吗?

我为我的应用程序制作了一个自定义标题栏,但我想看看它在屏幕底部而不是顶部的标题栏的外观。可以这样做吗?

非常感谢!

更新:

我正在尝试执行此操作:

我的 headermenu.xml 是:

当 onCreate 函数未在执行代码时完成时出现错误。

错误:

谢谢!

0 投票
3 回答
25563 浏览

android - 主题为 Holo Light 的 DatePickerDialog?

如何获得带有 Holo Light 主题的 DatePickerDialog?

创建时DatePickerDialog如下:

or with theme android.R.style.Theme_Holo_Lightor android.R.style.Theme_Holo_Light_Dialog,我得到一个带有标准标题和标准按钮的日期选择器。我也尝试使用带有全息光父的自定义主题,但它也不起作用。它似乎适用于 theme android.R.style.Theme_Holo,但结果是深色背景(如预期的那样),但我想要一个浅色背景。

该应用程序的 android.jar 版本为 14,该应用程序在 android 版本 3.2 的设备上运行。

我在这里看到了一个例子:http: //as400samplecode.blogspot.com/2011/10/android-datepickerdialog.html,它显示了DatePickerDialog全息光主题,我想要的方式。我不知道为什么它不适用于我的设置。

谢谢你的帮助。

0 投票
2 回答
17247 浏览

android - 在 Android < 4.0 上使用全息主题

我正在为 Android 2.2 及更高版本开发应用程序。我使用了很棒的 ActionBarSherlock(谢谢,Jake Wharton !!)在 ICS 之前的设备上使用操作栏。

虽然操作栏看起来很棒,但所有其他 gui 元素都具有设备默认主题的外观(在我的例子中是 HTC Sense 3)。

是否有可能在所有带有 Holo.Dark.Theme 的 Android 设备上设置我的 (>= Android 2.2) 应用程序的样式?

我用 Android 4.0.3 编译我的应用程序,minSDK 版本是 8。

0 投票
1 回答
269 浏览

android - 切换风格

假设我有多个用于主题的styles.xml 文件(当然名称不同)。是否可以选择应用程序应该从哪个文件中提取?

白色款式:

黑色风格:

因此,在我的布局 xml 中,我的所有按钮样式都将设置为“mybutton”,并且根据用户选择的主题,它将从协调文件中提取。由于无法在运行时更改视图的样式,是否可以这样做?还是有更好的方法(我确定有)来改变风格?