http://blog.csdn.net/xietansheng/article/details/54599454
Handler handler =
new
Handler(Looper.getMainLooper()){ // 区别在这!!!!
@Override
public
void
handleMessage(Message
msg) { Toast.makeText(getApplicationContext(), "handler msg",
Toast.LENGTH_LONG).show(); } }; handler.sendEmptyMessage(1);
1.描指定边 不需要瞄的边设置android:bottom 为 -2dp
<?xml version="1.0" encoding="utf-8"?><shapexmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><!-- 边框 top right--><strokeandroid:color="#00FF00" android:bottom="-2dp" android:left="-2dp"android:width="5dp"/><!-- 形状颜色(如果需要的是空心矩形, 则形状颜色设置为透明) --><solidandroid:color="#FF0000"/><!-- 4个角的角度半径 -->
<cornersandroid:radius="integer" // 统一设置4个角的角度半径, 会被下面具体某个角覆盖android:topLeftRadius="integer" // 左上角 角度半径android:topRightRadius="integer" // 右上角 角度半径android:bottomLeftRadius="integer" // 左下角 角度半径android:bottomRightRadius="integer" /> // 右下角 角度半径</shape>
2.颜色选择
<?xmlversion="1.0"
encoding="utf-8"?><selector
xmlns:android="http://schemas.android.com/apk/res/android"
android:constantSize=["true"
| "false"]//drawable的大小是否当中状态变化,true表示是变化,false表示不变换,默认为false
android:dither=["true"
| "false"]//当位图与屏幕的像素配置不一样时(例如,一个ARGB为8888的位图与RGB为555的屏幕)会自行递色(dither)。设置为false时不可递色。默认true
android:variablePadding=["true"
| "false"]>//内边距是否变化,默认false
<item android:drawable="@[package:]drawable/drawable_resource"//图片资源
android:state_pressed=["true"
| "false"]//是否触摸
android:state_focused=["true"
| "false"]//是否获取到焦点
android:state_hovered=["true"
| "false"]//光标是否经过
android:state_selected=["true"
| "false"]//是否选中
android:state_checkable=["true"
| "false"]//是否可勾选
android:state_checked=["true"
| "false"]//是否勾选
android:state_enabled=["true"
| "false"]//是否可用
android:state_activated=["true"
| "false"]//是否激活
android:state_window_focused=["true"
| "false"]
/>//所在窗口是否获取焦点</selector>
3.常用颜色选择
?xml
version="1.0" encoding="utf-8"?><selectorxmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:state_selected="true"android:drawable="@drawable/button_bg_press"
/><itemandroid:state_pressed="true"android:drawable="@drawable/button_bg_press"
/><itemandroid:drawable="@drawable/button_bg_normol"
/></selector>
<Button
android:id="@+id/bt_about"
style="@style/Button_style"
android:background="@drawable/button_selector"
android:layout_width="250dp"
android:layout_height="50dp"
android:layout_margin="5dp"
android:textColor="@color/test_color_selector"
android:text="@string/about"
/>
4.绘制阴影 layer-list 其实就是将多个图片或两种效果按照顺序层叠起来
<item>
<layer-list>
<item android:left="4dip" android:top="4.0dip">
<shape>
<solid android:color="#66000000"/>
<corners android:radius="5.0dip"/>
</shape>
</item>
<item android:bottom="4.0dip" android:right="4.0dip">
<shape>
<solid android:color="#669dd3"/>
<corners android:radius="5.0dip"/>
</shape>
</item>
</layer-list>
</item>
5.电池电量变化 imageview.setLevel(iLevel);
<?xml
version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 0到 20显示这个图片-->
<item android:drawable="@drawable/s1" android:minLevel="0" android:maxLevel="20"></item>
<!-- 21到 40显示这个图片-->
<item android:drawable="@drawable/s2" android:minLevel="21" android:maxLevel="40"></item>
<!-- 41到 60显示这个图片-->
<item android:drawable="@drawable/s3" android:minLevel="41" android:maxLevel="60"></item>
<!-- 61到100显示这个图片-->
<item android:drawable="@drawable/s4" android:minLevel="61" android:maxLevel="100"></item>
</level-list>
6.http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2017/0731/8318.html
Android-PorterDuffXfermode的正确使用方式
所绘制不会提交到画布上。
2.PorterDuff.Mode.SRC
显示上层绘制图片
3.PorterDuff.Mode.DST
显示下层绘制图片
4.PorterDuff.Mode.SRC_OVER
正常绘制显示,上下层绘制叠盖。
5.PorterDuff.Mode.DST_OVER
上下层都显示。下层居上显示。
6.PorterDuff.Mode.SRC_IN
取两层绘制交集。显示上层。
7.PorterDuff.Mode.DST_IN
取两层绘制交集。显示下层。
8.PorterDuff.Mode.SRC_OUT
取上层绘制非交集部分。
9.PorterDuff.Mode.DST_OUT
取下层绘制非交集部分。
10.PorterDuff.Mode.SRC_ATOP
取下层非交集部分与上层交集部分
11.PorterDuff.Mode.DST_ATOP
取上层非交集部分与下层交集部分
12.PorterDuff.Mode.XOR
取两层绘制非交集。两层绘制非交集。
13.PorterDuff.Mode.DARKEN
上下层都显示。变暗
14.PorterDuff.Mode.LIGHTEN
上下层都显示。变量
15.PorterDuff.Mode.MULTIPLY
取两层绘制交集
16.PorterDuff.Mode.SCREEN
上下层都显示。