天天看點

Android開發之style屬性和預定義樣式

摘要 android平台定義的主題樣式: android:theme="@android:style/theme.dialog" // 将一個activity顯示為對話框模式android:theme="@android:style/theme.notitlebar" // 不顯示應用程式标題欄android:theme="@android:style/theme.notitlebar.fullscreen"

//

android平台定義的主題樣式:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<code> </code><code>android:theme=</code><code>"@android:style/theme.dialog"</code>

<code>// 将一個activity顯示為對話框模式</code>

<code> </code><code>android:theme=</code><code>"@android:style/theme.notitlebar"</code>

<code>// 不顯示應用程式标題欄</code>

<code> </code><code>android:theme=</code><code>"@android:style/theme.notitlebar.fullscreen"</code>

<code>// 不顯示應用程式标題欄,并全屏</code>

<code> </code><code>android:theme=</code><code>"@android:style/theme.light"</code>

<code>// 背景為白色</code>

<code> </code><code>android:theme=</code><code>"@android:style/theme.light.notitlebar"</code>

<code>// 白色背景并無标題欄</code>

<code> </code><code>android:theme=</code><code>"@android:style/theme.light.notitlebar.fullscreen"</code>

<code>// 白色背景,無标題欄,全屏</code>

<code> </code><code>android:theme=</code><code>"@android:style/theme.black"</code>

<code>// 背景黑色</code>

<code> </code><code>android:theme=</code><code>"@android:style/theme.black.notitlebar"</code>

<code>// 黑色背景并無标題欄</code>

<code> </code><code>android:theme=</code><code>"@android:style/theme.black.notitlebar.fullscreen"</code>

<code>// 黑色背景,無标題欄,全屏</code>

<code> </code><code>android:theme=</code><code>"@android:style/theme.wallpaper"</code>

<code>// 用系統桌面為應用程式背景</code>

<code> </code><code>android:theme=</code><code>"@android:style/theme.wallpaper.notitlebar"</code>

<code>// 用系統桌面為應用程式背景,且無标題欄</code>

<code> </code><code>android:theme=</code><code>"@android:style/theme.wallpaper.notitlebar.fullscreen"</code>

<code>// 用系統桌面為應用程式背景,無标題欄,全屏</code>

<code> </code><code>android:theme=</code><code>"@android:style/translucent"</code>

<code>// 半透明效果</code>

<code> </code><code>android:theme=</code><code>"@android:style/theme.translucent.notitlebar"</code>

<code>// 半透明并無标題欄</code>

<code> </code><code>android:theme=</code><code>"@android:style/theme.translucent.notitlebar.fullscreen"</code>

<code>// 半透明效果,無标題欄,全屏</code>

android平台定義了三種字型大小:

<code>"?android:attr/textappearancelarge"</code>

<code> </code><code>"?android:attr/textappearancemedium"</code>

<code> </code><code>"?android:attr/textappearancesmall"</code>

android字型顔色:

<code> </code><code>android:textcolor=</code><code>"?android:attr/textcolorprimary"</code>

<code> </code><code>android:textcolor=</code><code>"?android:attr/textcolorsecondary"</code>

<code> </code><code>android:textcolor=</code><code>"?android:attr/textcolortertiary"</code>

<code> </code><code>android:textcolor=</code><code>"?android:attr/textcolorprimaryinverse"</code>

<code> </code><code>android:textcolor=</code><code>"?android:attr/textcolorsecondaryinverse"</code>

android的progressbar樣式:

<code> </code><code>style=</code><code>"?android:attr/progressbarstylehorizontal"</code>

<code> </code><code>style=</code><code>"?android:attr/progressbarstylelarge"</code>

<code> </code><code>style=</code><code>"?android:attr/progressbarstylesmall"</code>

<code> </code><code>style=</code><code>"?android:attr/progressbarstylesmalltitle"</code>

分隔符

橫向:

<code>&lt;view android:layout_width=</code><code>"fill_parent"</code>

<code>android:layout_height=</code><code>"1dip"</code>

<code>android:background=</code><code>"?android:attr/listdivider"</code>

<code>/&gt;</code>

縱向:

<code>&lt;view android:layout_width=</code><code>"1dip"</code>

<code>android:layout_height=</code><code>"fill_parent"</code>

checkbox樣式: 

style="?android:attr/starstyle"

類似标題欄效果的textview

style="?android:attr/listseparatortextviewstyle"

其它有用的樣式:

<code> </code><code>android:layout_height=</code><code>"?android:attr/listpreferreditemheight"</code>

<code> </code><code>android:paddingright=</code><code>"?android:attr/scrollbarsize"</code>

<code> </code><code>style=</code><code>"?android:attr/windowtitlebackgroundstyle"</code>

<code> </code><code>style=</code><code>"?android:attr/windowtitlestyle"</code>

<code> </code><code>android:layout_height=</code><code>"?android:attr/windowtitlesize"</code>

<code> </code><code>android:background=</code><code>"?android:attr/windowbackground"</code>

修改activity的标題欄樣式

如在styles.xml中增加:

<code>&lt;resources&gt;</code>

<code>&lt;style name=</code><code>"autowindowtitlebackground"</code><code>&gt;</code>

<code>&lt;item name=</code><code>"android:background"</code><code>&gt;</code><code>#778899&lt;/item&gt;</code>

<code>&lt;/style&gt;</code>

<code>&lt;style name=</code><code>"autowindowtitlebar"</code>

<code>parent=</code><code>"android:theme"</code><code>&gt;</code>

<code>&lt;item name=</code><code>"android:windowtitlesize"</code><code>&gt;32dp&lt;/item&gt;</code>

<code> </code><code>&lt;item name=</code><code>"android:windowtitlebackgroundstyle"</code><code>&gt;@style/autowindowtitlebackground&lt;/item&gt;</code>

<code> </code><code>&lt;/style&gt;</code>

<code>&lt;/resources&gt;</code>

接着再修改androidmanifest.xml檔案,找到要自定義标題欄的activity,添加上android:theme值,比如:

<code>&lt;activity android:name=</code><code>".mainactivity"</code>

<code> </code><code>android:theme=</code><code>"@style/autowindowtitlebar"</code><code>&gt;</code>

去掉所有activity界面的标題欄

修改androidmanifest.xml

在application 标簽中添加:

<code>android:theme=”@android:style/theme.notitlebar”</code>

<code></code>

繼續閱讀