Android Style和Theme

来源:互联网 发布:syslog tcp端口 编辑:程序博客网 时间:2024/06/05 02:37

在Web开发中,Html负责内容,CSS负责表现。同样,在Android开发中,可以使用Theme、Style+UI组件的方式实现内容和形式的分离。

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

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


style演示

定义一个styles,在res/values/目录下建立styles.xml

    <style name="mystyle" parent="AppBaseTheme">        <item name="android:textSize">18sp</item>        <item name="android:textColor">#ff0000</item>    </style>

<item name="属性">属性值</item>

1、在布局文件中引用style

<TextView        style="@style/mystyle"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/hello_world" />

2、在程序中设置style

 text.setTextAppearance(this, R.style.mystyle);

效果:

 Theme演示

1、在manifest当中设置主题

theme的style可以定义在styles.xml中,也可以单独定义在自己新建的themes.xml

复制代码
<?xml version="1.0" encoding="utf-8"?><resources xmlns:android="http://schemas.android.com/apk/res/android">      <style name="myTheme" parent="AppBaseTheme">        <item name="android:windowNoTitle">true</item>  <item name="android:windowFullscreen">?android:windowNoTitle</item>    </style></resources>
复制代码

如果整个工程用一个主题就在application 标签中定义

android:theme="@style/myTheme"

 其他属性:可以在sdk查看:..\sdk\platforms\android-7\data\res\values\themes.xml

android:windowBackground

android:windowIsFloating

android:windowIsTranslucent

android:windowContentOverlay

android:windowAnimationStyle

android:backgroundDimEnabled


0 0
原创粉丝点击