我的电脑上有一个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;?这是一个适用于多个主题的例子。
感谢您的帮助:)
答案 0 :(得分:1)
?
表示&#34;在当前主题中查找,并使用该值&#34;。在这种情况下,主题中的该值将用作样式名称。
你的主题有一个带有键的条目&#34; textTitle&#34;和值#34; text_title_bl&#34;。如果您在主题中更改了此内容,则textview将使用不同的样式。