2012-10-19 40 views
3

我可以定义一个主题的属性,将将只适用于特定组件,如一个EditText,像什么可以与CSS来实现,e.g,.table?我知道我可以定义一个样式,并设置它的所有组件,但是我正在寻找一种更有效的方式。主题属性特定组件类型

回答

1

在你的主题,添加<item name="android:editTextStyle">@style/<your substyle name>

<style name="My.Mega.Theme" > 
    <item name="android:editTextStyle">@style/My.Mega.Theme.EditText</item> 
</style> 

<style name="My.Mega.Theme.EditText" parent="My.Mega.Theme"> 
    <item name="android:textSize">14sp</item> 
</style> 

更换editTextStylebuttonStyle的按钮,等等。

你甚至可以对同一类的控制CSS类的类似物,如:

(样式文件):

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

<style name="My.Mega.Theme" > 
    <item name="note">@style/My.Mega.Theme.SmallText</item> 
</style> 

(布局文件):

<TextView style="?note"/> 
+0

我不能确定每一个控制有它的风格相应的项目。对我来说,实际上似乎这些项目代表样式,可以是许多复合视图部分一般UI组件。例如,按钮样式设置为按钮欣赏的风格,但它也可能会影响在NumberPicker按钮。话又说回来,我没有检查,所以我可能是错在这里。欢迎任何其他意见和答复。 – user940016

相关问题