修改现有主题

sly*_*oty 1 android themes styles android-theme

我想知道是否可以(以及如何)自定义现有主题.

我正在寻找的是如何检索某个属性(即颜色)并在Activity启动时更改它并重新应用之前修改过的主题setContentView().

与之类似setTheme(),但不使用资源ID,而是使用修改后的主题.

Eri*_*ric 6

为什么不只是制作自己的主题,设置android:parent要复制的主题,然后设置自己的属性?这在本文档中得到了证明,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="CodeFont" parent="@android:style/TextAppearance.Medium">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">#00FF00</item>
        <item name="android:typeface">monospace</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,CodeFont样式将与样式相同TextAppearance.Medium,除了item此处指定的s.你可以对任何主题做同样的事情,包括默认的Holo或Dark主题或诸如此类的东西.