样式定义于res/styles.xml中,类似于:

<!--定义名为BeatBoxButton的style,继承"android:style/Widget.Holo.Button"-->
<style name="BeatBoxButton" parent="android:style/Widget.Holo.Button">
    <item name="android:background">@color/dark_blue</item>
</style>
<!--通过命名的方式继承BeatBoxButton style-->
<style name="BeatBoxButton.Strong>
    <item name="android:textStyle">bold</item>
<style>

一般在同一个包中,通过命名的方式进行继承;
当继承其它包中的主题时,则通过parent属性指定。

使用style的方式类似于:

<Button xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        <!--指定需要的style-->
        style="@style/BeatBoxButton"
        android:id="@+id/list_item_sound_button"
        android:layout_width="match_parent"
        android:layout_height="120dp"
        tools:text="Sound name">
</Button>

当需要要为很多组件添加Style时,比较繁琐,此时就可以使用主题Theme。
在AndroidManifest.xml中,指定了应用使用的主题:

.........
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    <!--指定主题-->
    android:theme="@style/AppTheme">
    <activity android:name=".activity.BeatBoxActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
</application>
.................

因此,可以修改Styles.xml中的主题,完成主题的定制:

<!--主题也在不断的继承, 可以一直回溯到android:Theme.Holo等-->
<!--通过不断查看父类的定义,可以查明主题可以覆盖的属性 -->
<style name="AppTheme" parent="Theme.AppCompat">
    <!-- 工具栏颜色 -->
    <item name="colorPrimary">@color/red</item>
    <!-- 状态栏颜色 -->
    <item name="colorPrimaryDark">@color/dark_red</item>
    <item name="colorAccent">@color/gray</item>
    <item name="android:background">@color/soothing_blue</item>
    <!-- 指定所有button的style -->
    <item name="android:buttonStyle">@style/BeatBoxButton</item>
</style>

P.S.:
在xml中引用主题属性时,使用?,例如:

<Button xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        <!--使用@指定资源,使用?指定系统资源-->
        android:background="?attr/colorAccent"
        android:id="@+id/list_item_sound_button"
        android:layout_width="match_parent"
        android:layout_height="120dp"
        tools:text="Sound name">
</Button>

在代码中获取系统属性的代码示例如下:

..........
//Context中的接口获取系统主题
Resources.Theme theme = getTheme();
//指定需要查找的数据
int[] attrsToFetch = {R.attr.colorAccent};
//得到主题中指定数据的值
TypedArray a = theme.obtainStyledAttributes(R.style.AppTheme, attrsToFetch);
//得到值,然后可以使用了
int accentColor = a.getInt(0, 0);
//清空TypedArray,以便重复使用
a.recycle();
.............
通过 Theme 切换 主题 Android 通过在activity 使用 set Theme ()函数来设置背景 样式 ,通过加载 style s.xml里的 样式 来设置 Android 应用的 主题 。(注意:需要在 setContentView(R.layout.activity_main);之前调用set Theme ) 在开始制作 主题 之前我们先看下这张 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;resources&gt; &lt;color name="colorPrimary"&gt;#008577&lt;/color&gt; &lt;color
一开始:我直接在LoginActivity的OnCreate()方法 调用了: requestWindowFeature(Window.FEATURE_NO_TITLE);//注意:此方法应该放在第一行 但是并没有解决问题,LoginUI 仍然有ActionBar。 然后我在配置文件发现了如下代码: android : theme ="@ style /App Theme " 这一行为整个APP设置了 主题 ...
< style name="My Style "> <item name=" android :textColor">#000000</item> <item name=" android :textSize">16sp</item> </ style > 2. 在布局文件 使用 样式 : <TextView android :id="@+id/myTextView" android :layout_width="wrap_content" android :layout_height="wrap_content" android :text="Hello World!" style ="@ style /My Style " /> 3. 定义一个 主题 : < style name="My Theme " parent=" Theme .AppCompat.Light"> <item name="colorPrimary">#3F51B5</item> <item name="colorPrimaryDark">#303F9F</item> <item name="colorAccent">#FF4081</item> </ style > 4. 在 Android Manifest.xml 文件 指定 主题 : <application android : theme ="@ style /My Theme " 希望这些 示例 能够帮助你进行 Android 开发 样式 主题 设置。