您的位置:首页 > 移动开发 > Android开发

【android】style和theme

2012-08-13 12:13 337 查看
一、style

1、style是针对窗体元素级别的,改变指定控件或者Layout的样式

2、style有继承,覆盖

3、style定义,在res/styles.xml中定义

Android系统的themes.xml和style.xml(位于系统源代码frameworks\base\core\res\res\values\)包含了很多系统定义好的style,建议在里面挑个合适的,然后再继承修改。

<?xml version="1.0" encoding="UTF-8"?>
<resources>
<style name="TextView">
<item name="android:textSize">18sp</item>
<item name="android:textColor">#008</item>
<item name="android:shadowColor">@android:color/black</item>
<item name="android:shadowRadius">2.0</item>
</style>

<style name="EditText">
<item name="android:shadowColor">@android:color/black</item>
<item name="android:shadowRadius">1.0</item>
<item name="android:background">@android:drawable/btn_default</item>
<item name="android:textAppearance">?android:attr/textAppearanceMedium</item>
</style>

<style name="Button">
<item name="android:background">@android:drawable/edit_text</item>
<item name="android:textAppearance">?android:attr/textAppearanceMedium</item>
</style>
</resources>


 

二、theme

1、Theme是针对窗体级别的,改变窗体样式;

2、定义位置和方式与style一样,都在res/styles.xml文件中,也可以自己定义在res/theme.xml文件中,区别是theme的item的name数固定的,值可变

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomTheme">
<!-- Window attributes -->
<item name="windowBackground">@android:drawable/screen_background_dark</item>
<item name="windowFrame">@null</item>
<item name="windowNoTitle">false</item>
<item name="windowFullscreen">false</item>
<item name="windowIsFloating">false</item>
<item name="windowContentOverlay">@android:drawable/title_bar_shadow</item>
<item name="windowTitleStyle">@android:style/WindowTitle</item>
<item name="windowTitleSize">25dip</item>
<item name="windowTitleBackgroundStyle">@android:style/WindowTitleBackground</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Activity</item>
</style>
</resources>


 

使用,main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/hello"
style="@style/TextView" />
<EditText android:id="@+id/EditText01" android:layout_height="wrap_content"
style="@style/EditText" android:layout_width="fill_parent"
android:text="类似Button的EditText"></EditText>
<EditText android:id="@+id/EditText02" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:text="普通的EditText"></EditText>
<Button android:id="@+id/Button01" android:layout_height="wrap_content"
style="@style/Button" android:layout_width="fill_parent" android:text="类似EditText的Button"></Button>
</LinearLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: