zoukankan      html  css  js  c++  java
  • 使用了Theme但是没有效果问题

    最近在开发过程中使用了theme移植Preference并使用了一些android样式,但是在自定义的Theme修改了相关参数后却无法实现

    可能有些朋友还不知道怎么用。这里也做个简要的使用方式说明。

    1. xml中使用样式。

    android:textAppearance="?android:attr/textAppearanceLarge"
    ?android:使用安卓内置样式。
            <TextView android:id="@id/title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:singleLine="true" android:text="Hellopss"
                android:ellipsize="marquee" 
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:fadingEdge="horizontal" />

    2.View中使用到xml

      setContentView(xml)

    3. 定义Theme

        <style name="AppTheme" parent="@style/AppThemsse">
    
            <!-- All customizations that are NOT specific to a particular API-level can go here. -->
            <!-- Text styles -->
            <item name="android:textAppearance">@style/TextAppearance</item>
            <item name="android:textAppearanceInverse">@style/TextAppearance.Inverse</item>
            <item name="android:textAppearanceLarge">@style/TextAppearance.Large</item>
            <item name="android:textAppearanceMedium">@style/TextAppearance.Medium</item>
            <item name="android:textAppearanceSmall">@style/TextAppearance.Small</item>
            <item name="android:textAppearanceLargeInverse">@style/TextAppearance.Large.Inverse</item>
            <item name="android:textAppearanceMediumInverse">@style/TextAppearance.Medium.Inverse</item>
            <item name="android:textAppearanceSmallInverse">@style/TextAppearance.Small.Inverse</item>
            <item name="android:textAppearanceButton">@style/TextAppearance.Widget.Button</item>
            <item name="android:textColorPrimary">#000079</item>
            <item name="android:textColorSecondary">#000079</item>
            <item name="android:textColorTertiary">@color/tertiary_text_light</item>
            <item name="android:textColorPrimaryInverse">@color/primary_text_dark</item>
            <item name="android:textColorSecondaryInverse">@color/secondary_text_dark</item>
            <item name="android:textColorTertiaryInverse">@color/tertiary_text_dark</item>
            <item name="android:textColorPrimaryDisableOnly">@color/primary_text_light_disable_only</item>
            <item name="android:textColorPrimaryInverseDisableOnly">@color/primary_text_dark_disable_only</item>
            <item name="android:textColorPrimaryNoDisable">@color/primary_text_light_nodisable</item>
            <item name="android:textColorSecondaryNoDisable">@color/secondary_text_dark_nodisable</item>
            <item name="android:textColorPrimaryInverseNoDisable">@color/primary_text_dark_nodisable</item>
            <item name="android:textColorSecondaryInverseNoDisable">@color/secondary_text_dark_nodisable</item>
            <item name="android:textColorHint">@color/hint_foreground_light</item>
            <item name="android:textColorHintInverse">@color/hint_foreground_dark</item>
            
        </style>
    
        <style name="TextAppearance">
            <item name="android:textColor">?android:textColorPrimary</item>
            <item name="android:textColorHighlight">#FFFF9200</item>
            <item name="android:textColorHint">?android:textColorHint</item>
            <item name="android:textColorLink">#5C5CFF</item>
            <item name="android:textSize">16sp</item>
            <item name="android:textStyle">normal</item>
        </style>

    theme修改该引用的样式

    4. Theme使用

    AndroidManifest.xml 中设置该Theme android:theme="**"

    5. 使用View

    (1)直接xml导入View

    (2)先new View(这样出现了所描述的问题)

            
            PreferenceScreen mPreferenceScreen = getPreferenceManager().createPreferenceScreen(getApplicationContext());
            Preference mPreference = new Preference(this);
            mPreference.setTitle("我的应用世界");
            mPreference.setSummary("测试自定义Preference");
            mPreference.setKey("hello");
            mPreferenceScreen.addPreference(mPreference);

    注意红色的地方,如果使用的是getApplicationContent()不知不觉中就出现无法使用theme了。

    惠存!

  • 相关阅读:
    shell 编写简单的整数计算器
    信号控制
    MySQL-索引及优化整理
    Java面试-Java容器有哪些
    C语言宏定义
    值类型与引用类型的区别
    C++虚函数简介
    DNS-域名解析
    扇区,簇,块区分
    Java合并两个数组为一个新数组
  • 原文地址:https://www.cnblogs.com/pandans/p/4154732.html
Copyright © 2011-2022 走看看