组建你自己的Theme,组件你的Style – 橙皮书

Andorid-Style,组建你自己的Theme,组件你的Style

前言:

今天,尝试了一个新的Demo,也尝试深入学习,话不多说,看一下,这个Demo如何实现的自定义主题与组件Style是如何绑定的。

看右图,那个Du Dummy Button是自定义的组件主题。请看下面的主题与组件的Style是如何绑定的。

 

1.自定APP主题,一个总的主题,相当于Java的工厂模式或一个Map表,通过它,可以调用其它的组件Style,例如下面定义的

metaButtonBarStyle和CircleButtonBarButton

<style name=”FullscreenTheme” parent=”android:Theme.Holo”>
<item name=”android:actionBarStyle”>@style/FullscreenActionBarStyle</item>
<item name=”android:windowActionBarOverlay”>true</item>
<item name=”android:windowBackground”>@null</item>
<item name=”metaButtonBarStyle”>?android:attr/buttonBarStyle</item>
<item name=”CircleButtonBarButton”>@style/CircleButtonBarButton</item>
</style>

 

2metaButtonBarStyle和CircleButtonBarButton2.定义组件主题 

代码如下:

<!– Backward-compatible version of ?android:attr/buttonBarStyle –>
<style name=”ButtonBar”>
<item name=”android:paddingLeft”>2dp</item>
<item name=”android:paddingTop”>5dp</item>
<item name=”android:paddingRight”>2dp</item>
<item name=”android:paddingBottom”>0dp</item>
<item name=”android:background”>@android:drawable/bottom_bar</item>
</style>

<!– Backward-compatible version of ?android:attr/buttonBarButtonStyle –>s
<style name=”CircleButtonBarButton”>
<item name=”android:paddingLeft”>2dp</item>
<item name=”android:paddingTop”>5dp</item>
<item name=”android:paddingRight”>2dp</item>
<item name=”android:paddingBottom”>8dp</item>
<item name=”android:background”>@drawable/circle_btn</item>
</style>

 


 
3.在布局界面如何调用呢,有什么组件呢?哪些是可以使用的呢?就是通才attrs来调用有

<resources>

<!– Declare custom theme attributes that allow changing which styles are
used for button bars depending on the API level.
?android:attr/buttonBarStyle is new as of API 11 so this is
necessary to support previous API levels.
–>
<declare-styleable name=”ButtonBarContainerTheme”>
<attr name=”metaButtonBarStyle” format=”reference” />
<attr name=”CircleButtonBarButton” format=”reference” />
</declare-styleable>

</resources>

 

4.都写好的,可以用了,也可以考虑做个主题库什么的,把9path图片,自定义的组件风格,等,组成一个Theme,只要把二三十个组件做好,就是一个完整的库.

android:id=@+id/Test
style
=?metaButtonBarStyle
android:layout_width
=0dp
android:layout_height
=wrap_content
android:layout_weight
=1
android:text
=@string/dummy_button />
<Button
android:id
=@+id/dummy_button
style
=?CircleButtonBarButton
android:layout_width
=48dp
android:layout_height
=48dp
android:text
=@string/dummy_button
android:layout_gravity
=right|bottom />

 

本文链接:组建你自己的Theme,组件你的Style,转载请注明。



You must enable javascript to see captcha here!

Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress

无觅相关文章插件,快速提升流量