当前位置:  编程技术>移动开发
本页文章导读:
    ▪OPhone下的轻量级小工具Widget开发介绍        OPhone上的轻量级小工具Widget开发介绍 OPhone上的轻量级小工具Widget开发介绍 ......
    ▪ Graphics-Xfermodes        Graphics-----Xfermodes 1. Xfermode 可以通过修改Paint的Xfermode来影响在Canvas已有的图像上面绘制新的颜色的方式 。 在正常的情况下,在已有的图像上绘图将会在其上面添加一层新的形状。如果新的Pai.........
    ▪ layout_gavity与gavity,padding与margin的差别       layout_gavity与gavity,padding与margin的区别 在布局的时候你会遇到这样的属性:layout_gavity与gavity这两个属性,会迷惑他们之间的区别:layout_gavity是你的view想对于parrent的位置的设置,比如相对.........

[1]OPhone下的轻量级小工具Widget开发介绍
    来源: 互联网  发布时间: 2014-02-18
OPhone上的轻量级小工具Widget开发介绍
OPhone上的轻量级小工具Widget开发介绍

    
[2] Graphics-Xfermodes
    来源: 互联网  发布时间: 2014-02-18
Graphics-----Xfermodes

1. Xfermode
可以通过修改Paint的Xfermode来影响在Canvas已有的图像上面绘制新的颜色的方式 。
在正常的情况下,在已有的图像上绘图将会在其上面添加一层新的形状。如果新的Paint是完全不透明的,那么它将完全遮挡住下面的Paint;如果它是部分透明的,那么它将会被染上下面的颜色。

下面的Xfermode子类可以改变这种行为:
AvoidXfermode  指定了一个颜色和容差,强制Paint避免在它上面绘图(或者只在它上面绘图)。

PixelXorXfermode  当覆盖已有的颜色时,应用一个简单的像素XOR操作。

PorterDuffXfermode  这是一个非常强大的转换模式,使用它,可以使用图像合成的16条Porter-Duff规则的任意一条来控制Paint如何与已有的Canvas图像进行交互。

要应用转换模式,可以使用setXferMode方法,如下所示:

 AvoidXfermode avoid = new AvoidXfermode(Color.BLUE, 10, AvoidXfermode.Mode. AVOID);  
  borderPen.setXfermode(avoid); 



2. 16条Porter-Duff规则
           1.PorterDuff.Mode.CLEAR
           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

 

3.

// make a ckeckerboard pattern
            Bitmap bm = Bitmap.createBitmap(new int[] { 0xFFFFFFFF, 0xFFCCCCCC,
                                            0xFFCCCCCC, 0xFFFFFFFF }, 2, 2,
                                            Bitmap.Config.RGB_565);
            mBG = new BitmapShader(bm,
                                   Shader.TileMode.REPEAT,
                                   Shader.TileMode.REPEAT);
            Matrix m = new Matrix();
            m.setScale(6, 6);
            mBG.setLocalMatrix(m);

 

 

4.

// draw the src/dst example into our offscreen bitmap
                int sc = canvas.saveLayer(x, y, x + W, y + H, null,
                                          Canvas.MATRIX_SAVE_FLAG |
                                          Canvas.CLIP_SAVE_FLAG |
                                          Canvas.HAS_ALPHA_LAYER_SAVE_FLAG |
                                          Canvas.FULL_COLOR_LAYER_SAVE_FLAG |
                                          Canvas.CLIP_TO_LAYER_SAVE_FLAG);
                canvas.translate(x, y);
                canvas.drawBitmap(mDstB, 0, 0, paint);
                paint.setXfermode(sModes[i]);
                canvas.drawBitmap(mSrcB, 0, 0, paint);
                paint.setXfermode(null);
                canvas.restoreToCount(sc);

 

 

1 楼 TremendousTurtle 2011-05-23  
多谢,porter-duff的规则太多了,记不住,只能随用随查了

    
[3] layout_gavity与gavity,padding与margin的差别
    来源: 互联网  发布时间: 2014-02-18
layout_gavity与gavity,padding与margin的区别
在布局的时候你会遇到这样的属性:layout_gavity与gavity这两个属性,会迷惑他们之间的区别:layout_gavity是你的view想对于parrent的位置的设置,比如相对于父居左或右,而gavity是view的内容相对于view的位置,比如是一个button,你设置了button的text属性为"test",而你设置gavity时就是内容“test”相对于button的位置。而margin和padding也是有这样的关系,margin是相对应控件之间的空隙,而padding是控件自己内容相对于自己的空隙。

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3