我的PC上有一个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知道“?textTitle”属于上面的这种样式?还是为什么“?textTitle” =“ text_title_bl”?这是一个适用于多个主题的示例。
感谢您的帮助:)
最佳答案
?
的意思是“在当前主题中查找并使用该值”。在这种情况下,主题的值将用作样式名称。
您的主题有一个条目,键为“ textTitle”,值为“ text_title_bl”。如果您在主题中对此进行了更改,则文本视图将使用其他样式。