【问题标题】:How to change theme of particular view in Android如何在Android中更改特定视图的主题
【发布时间】:2015-02-20 20:01:09
【问题描述】:

我的应用使用经典(深色)全息主题。在使用这个主题时,EditTexts 当然是白色的。但是,我有一些带有白色背景的 EditTexts 的小型 ViewGroup 容器。它们的能见度明显很差,所以我想将 Holo.Light 仅用于 ViewGroup 以使这些 EditTexts 变黑。

我尝试对 ViewGroup 中的每个 EditText 使用这种样式:

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:saveEnabled="false"
    style="@android:style/Widget.Holo.Light.EditText" />

而且它的行为很奇怪,因为只有提示颜色设置为“暗色”EditText。例如drawable仍然是白色的。

请您写信告诉我如何更改一个特定视图的主题?所以我仍然可以使用经典的 Holo for app,但只需将部分 Views 更改为 Holo.Light。

【问题讨论】:

标签: android view styles themes


【解决方案1】:

我知道这是一年后的事,但我也一直在寻找答案。在基本布局中,放置以下内容:

android:theme="@style/AppTheme2"

仅将样式应用于该视图。

【讨论】:

    【解决方案2】:

    创建一个继承自浅色全息主题而不是深色主题的新主题,并尝试将其设置为父视图的主题。

    app:theme="@style/YourCustomTheme"
    

    【讨论】:

    • 感谢您的回复,但我不明白。什么是命名空间“app”,因为如果我在包含该 EditText 的 ViewGroup 中使用它,它会说命名空间“app”未绑定。如果我使用 android:theme=... 代替,它不起作用(无效)。
    猜你喜欢
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-17
    • 1970-01-01
    • 2018-06-24
    相关资源
    最近更新 更多