組建你自己的Theme,組件你的Style,themestyle

來源:互聯網
上載者:User

組建你自己的Theme,組件你的Style,themestyle
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" />

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.