在自定义样式中不应用属性“android:textSize”

时间:2014-04-08 11:40:43

标签: android android-layout text-size

我有以下布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingTop="10sp"
    android:paddingBottom="10sp">

    <ImageView
        android:id="@+id/newsImage"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:scaleType="centerCrop"
        android:contentDescription="@string/hello_world"
        android:src="@drawable/ic_program_blue" />

    <RelativeLayout 
        android:id="@+id/textLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/newsImage">

        <TextView
            android:id="@+id/titleText"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/hello_world"
            style="@style/newsListItemTitle" />
        <TextView
            android:id="@+id/shortText"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/titleText"
            android:text="@string/hello_world" 
            style="@style/newsListItemShort" />

    </RelativeLayout>

</RelativeLayout>

这个样式定义:

<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    -->
    <style name="AppBaseTheme" parent="@android:style/Theme.Holo.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>


    <!-- NAVIGATION DRAWER -->

    <!-- Items -->
    <style name="navDrawerItem">
        <item name="android:minHeight">48dp</item>
        <item name="android:textSize">22sp</item>
        <item name="android:textColor">#686868</item>
        <item name="android:paddingRight">40dp</item>
        <item name="android:gravity">center_vertical</item>
    </style>


    <!-- NEWS -->

    <!-- Item title -->
    <style name="newsListItemTitle">
        <item name="android:singleLine">true</item>
        <item name="android:background">#66ffffff</item>
        <item name="android:paddingTop">10dp</item>
        <item name="android:paddingLeft">5dp</item>
        <item name="android:textColor">#000000</item>
        <item name="android:textSize">23sp</item>
    </style>

    <!-- Item short -->
    <style name="newsListItemShort">
        <item name="android:singleLine">true</item>
        <item name="android:background">#66ffffff</item>
        <item name="android:paddingLeft">5dp</item>
        <item name="android:paddingBottom">10dp</item>
        <item name="android:textColor">#686868</item>
        <item name="android:textSize">15sp</item>
    </style>

</resources>

除了“textSize”之外,所有内容都应用于TextView。配置的textSize高度中不显示任何文本。任何想法,为什么这不起作用?

没有编译错误。

当我使用TextView直接应用属性“textSize”时,每个方面都可以正常工作。

由于

2 个答案:

答案 0 :(得分:2)

我对错误&#34; styles.xml&#34;进行了更正。文件。我有一个大于16的API样式文件。这个文件被使用。但我编辑了标准&#34; styles.xml&#34;。

答案 1 :(得分:0)

尝试添加以下文件夹结构:

res/values/dimens.xml

res/values-small/dimens.xml

res/values-normal/dimens.xml

res/values-xlarge/dimens.xml

示例:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <dimen name="text_size">18sp</dimen>
</resources>