什么" style ="?textTitle"意思是,它是如何运作的?

时间:2014-03-20 20:40:43

标签: java android xml android-layout menu

我的电脑上有一个xml文件。像这样:

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/title_text"
    style="?textTitle"/>

在attrs.xml中定义:

<attr name="textTitle" format="reference" />

在style.xml文件中写道:

<style name="text_title_bl">
    <item name="android:textColor">#FFF</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textSize">24sp</item>
    <item name="android:gravity">center_vertical|left</item>
    <item name="android:paddingLeft">5sp</item>
    <item name="android:shadowDx">1.0</item>
    <item name="android:shadowDy">1.0</item>
    <item name="android:shadowRadius">1</item>
    <item name="android:shadowColor">#DDD</item>
    <item name="android:background">#FF004488</item>
</style>

我的问题是它是如何工作的,eclipse知道&#34;?textTitle&#34;属于这种风格吗?或者为什么&#34;?textTitle&#34; =&#34; text_title_bl&#34;?这是一个适用于多个主题的例子。

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

?表示&#34;在当前主题中查找,并使用该值&#34;。在这种情况下,主题中的该值将用作样式名称。

你的主题有一个带有键的条目&#34; textTitle&#34;和值#34; text_title_bl&#34;。如果您在主题中更改了此内容,则textview将使用不同的样式。