背景选择器selector
主要用于实现点击效果的变化,通常我们在drawable中写我们自定义的selector文件,可以控制是否有焦点、是否被选择、是否被点击等等。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默认的图片背景 -->
<item android:drawable=""/>
<!--可以自定义大量的标签 -->
<item android:drawable="" android:state_checked="false"/>
<item android:drawable="" android:state_pressed="false"/>
</selector>
自定义形状shape
主要用于实现控件的形状,通常我们在drawable中定有我们的shape,可以定义样式的内边距、填充颜色、圆角、描边等等。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape ="oval">
<!-- 設置形狀 shape可以選擇圓形矩形等等-->
<!-- 設置大小 -->
<size
android:width="50dp"
android:height="50dp"/>
<!-- 設置间隔 -->
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp"/>
<!-- 設置填充顏色 -->
<solid
android:color="@android:color/holo_red_light"/>
<!-- 設置描边 -->
<stroke
android:width="1dp"
android:color="@android:color/holo_red_dark"/>
<!-- 設置圆角 -->
<corners
android:bottomLeftRadius="1dp"
android:bottomRightRadius="1dp"
android:topLeftRadius="1dp"
android:topRightRadius="1dp"/>
<!-- 設置渐变 -->
<gradient
android:endColor="@android:color/black"
android:startColor="@android:color/white"/>
</shape>
自定义stype
主要实现控件或者layout的样式,通常存放于res/values,所定义的item可复用于任何控件或者layout,支持继承。
<resources>
<style name="Text" >
<item name="android:textSize">10sp</item>
<item name="android:textColor">#008</item>
</style>
<style name="SpecialText" parent="@style/Text">
<item name="android:layout_height">18dp</item>
<item name="android:layout_width">18dp</item>
</style>
</resources>
自定义Themes
主要用于设置窗体样式,常见于Activity风格主题,不过这个不能单独用于一个View中,themes可以包含style。官方提供了大量的themes使用,引用官方一个例子themes.xml。
<!-- 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>
文章持续更新,后序会继续讲图片图例,屏幕适配,界面开发尺寸分析等,欢迎关注交流。