android的空间样式主要包括控件各种状态下背景图片或颜色,控件中字体颜色。

这里解释一下个状态是什么意思,android中控件有如下几个状态
普通
state_enabled 是否有效
state_focused 是否聚焦
state_pressed 是否被按下
其中state_focused 和 state_pressed 可自由有如下4种组合

android:state_focused="true" android:state_pressed="true"
android:state_focused="true" android:state_pressed="false"
android:state_focused="false" android:state_pressed="true"
android:state_focused="false" android:state_pressed="false"

可以看出android控件有着很多不同状态,在不同的状态下有着不同的样式,比如不同的背景,请注意android控件的背景绝大部份是使用图片表示。

另外
android中控件在屏幕中有两种模式,分别是:

1 普通模式
2 触摸模式 touchmode


根据经验在控件开始显示时,
处于普通模式下,当使用轨迹球或者方向键都不会切换模式,但是当你使用手指触摸屏幕时,控件会自动切换到触控模式,离开屏幕后后再使用轨迹球或者方向键便有切换到普通模式,请注意在切换的过程中有时候会碰到问题,比如说离开屏幕后滚动轨迹球无效,或者重新使用屏幕时点击无反应,这个应该是android一个不足的地方,编程时应当注意。

在这两个模式下,前面说的状态有不同表现,在普通模式下,一般在按下之前必须先选中,而在touchmode下,并不需要,在响应用户操作时有不同的表现。

<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false"
android:drawable="@drawable/没有焦点时的图片背景" />
<item android:state_focused="true" android:state_pressed="true"
android:drawable=
"@drawable/非触摸模式下获得焦点并单击时的背景图片" />
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/触摸模式下单击时的背景图片" />
<item android:state_selected="true"
android:drawable="@drawable/选中时的图片背景" />
<item android:state_focused="true"
android:drawable="@drawable/获得焦点时的图片背景" />
</selector>

那什么是控件的样式呢,这个包括很多,控件大小,背景,前景,是否能选中,点击等。
比如说listview中默认是黑色,选中时为亮黄色,很多朋友肯定想换掉它,那有没有方法呢。
答案是肯定的,但是需要自己定义新的样式也就是style,然后在使用控件时使用自定义的style。

经过我们的测试,大部分控件的样式都可以自定义,但是有少部分尚不可行,比如说tabActivity的标签头选中时候的背景,menu的背景似乎都不能改变,因为它们的背景图片都被硬编码进系统了,无法通过接口设置,但是menu有个办法绕过,那就是根本不使用系统menu,我们拦截住menu按键事件,在监听器中实现自己的menu,那么就可以随心所欲了。

更多相关文章

  1. [整] Android ListView 去除边缘阴影、选中色、拖动背景色等
  2. 【Android】联通性 -- USB从属模式
  3. Android M新控件之FloatingActionButton,TextInputLayout,Snackbar
  4. android自学第二天 Android API Guide学习和LinearLayout布局及
  5. Android当中的MVP模式(六)View 层 Activity 的基类--- BaseMvpActi
  6. Android 如何自己定义控件的样式 Shape
  7. Android USB配件模式
  8. android为文本框设置背景资源-shape

随机推荐

  1. NDK调试
  2. android 获得当前活动的Acticity
  3. Android打造带删除的EditText并且实现输
  4. Android基于名称、修改时间、大小实现文
  5. Android Shadow 阴影制作[转]
  6. Android code cut 1 --圆形在屏幕撞墙弹
  7. Android studio3.1.2 坑——3rd-party Gr
  8. Android 编译环境下常用命令
  9. android openGL简例1
  10. android添加常驻图标到状态栏