在Android中创建新主题

时间:2013-11-23 07:52:14

标签: android android-layout

大家好,我只是几天的android经验,学习.. 我正在尝试制作一个使用主题的应用程序,但遇到问题希望你能帮助我。

这是我的布局

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:checkMark="?android:attr/textCheckMark"
android:paddingStart="10dp"
android:paddingEnd="10dp"
style="?TextColor"
/>

这是我的style.xml

<!-- GENERIC STYLES -->
    <style name="App_text_color_white" parent="android:Theme">
        <item name="android:textColor">@color/White</item>
    </style>
    <style name="App_text_color_black" parent="android:Theme">
        <item name="android:textColor">@color/Black</item>
    </style>

<!-- RED Theme Styles ####################################### -->
    <style name="App_Bg_img_red" parent="android:Theme">
        <item name="android:background">@drawable/red_abstract_background_blur</item>
    </style>

<!-- RED Theme -->
    <style name="NoteItTheme.RED">
        <item name="pageBackgroundImage">@style/App_Bg_img_red</item>
        <item name="TextColor">@style/App_text_color_black</item>
    </style>

下面是我的attr.xml

<resources>
    <!-- View styles -->
    <attr name="pageBackgroundImage" format="reference" />
    <attr name="TextColor" format="reference" />
</resources>

我使用以下代码

onCreate方法中设置主题
this.setTheme(R.style.NoteItTheme_RED);

现在问题是背景图像的设置很好,这意味着主题正在工作。 但是,无论是否应用主题,TextColor都不会改变它的白色。

知道我的代码有什么问题吗?

提前致谢 这是截图

抱歉,我忘了提及: 根据RelativeLayout设置背景图像,我要设置的文本颜色用于具有Checked TextBox的ListView

here is the screenshot

2 个答案:

答案 0 :(得分:0)

你应该使用

<style name="image" parent="@android:style/Widget.ImageButton">
    <item name="android:background">#000000  <!-use your selector for image buttons --></item>
</style> 

用于背景图像按钮的样式文件和以下用于textviews的代码

<style name="text"  parent="@android:style/Widget.TextView" > 
    <item name="android:textColor"><!-use your textcolor  --></item>     
</style>

编辑

 <style name="NoteItTheme.RED">
            <item name="pageBackgroundImage">@style/App_Bg_img_red</item>
            <item name="TextColor">@style/App_text_color_black</item>
            <item name="android:imageButtonStyle">@style/image</item>
<item name="android:textViewStyle">@style/text</item>
        </style>

答案 1 :(得分:0)

试试这个,

<!-- RED Theme -->
<style name="NoteItTheme.RED">
    <item name="pageBackgroundImage">@style/App_Bg_img_red</item>
    <item name="android:textViewStyle">@style/App_text_color_black</item>    
</style>

<style name="App_text_color_black"  parent="@android:style/Widget.TextView" > 
    <item name="android:textColor">@color/Black</item>     
</style>