当前位置:  编程技术>移动开发
本页文章导读:
    ▪Crowdroid跟平板电脑        Crowdroid和平板电脑 Crowdroid也是合适于平板电脑。http://www.camangimarket.com/main.phpCrowdroid最新版本 : http://bit.ly/9VcU3G ......
    ▪ 镜像倒影奇效Gallery        镜像倒影特效Gallery 效果展示 本文档将介绍在android上如何实现一个倒影效果的Gallery。   为了达到上图所示的效果, 首先,是需要有一个自定义的gallery,实现了对Gallery的继承,通过重写get.........
    ▪ 跟踪自己的程序安装启动和崩溃信息       追踪自己的程序安装启动和崩溃信息 只需要在软件中嵌入3行代码,就可以追踪自己的软件有多少人下载,每天有多少次启动,为什么崩溃了??下面是我的追踪情况:SMSTimer的错误报告情.........

[1]Crowdroid跟平板电脑
    来源: 互联网  发布时间: 2014-02-18
Crowdroid和平板电脑
Crowdroid也是合适于平板电脑。
http://www.camangimarket.com/main.php


Crowdroid最新版本 : http://bit.ly/9VcU3G

    
[2] 镜像倒影奇效Gallery
    来源: 互联网  发布时间: 2014-02-18
镜像倒影特效Gallery
效果展示

本文档将介绍在android上如何实现一个倒影效果的Gallery。

 

为了达到上图所示的效果,

首先,是需要有一个自定义的gallery,实现了对Gallery的继承,通过重写getChildStaticTransformation方 法来控制,每个子view有不同的缩放比例,形成阶梯状的展示。这个gallery是在坤庭的代码基础上实现的,我这里就不再重复介绍。

接下来,gallery中的每个view,都是一个自定义的MirrorView,由它来实现了画原图及画倒影。新的算法解决了性能问题,下面就重 点说一下这部分内容:

镜像特效最近还蛮流行的,尤其在HTC 的Sense 介面上,常常都可以见到。大家可以看到,加了个镜像特效后,那感觉就很立体,感觉上好像是这些图片摆立在一个玻璃桌面上。

在Android 上要帮图片加上镜像特效,会不会很麻烦?一点也不麻烦,只要几行代码,就可以搞定。

因此,在开始看答案之前,我会建议你要先有Photoshop 的使用经验。想想,如果用Photoshop 要帮图片加上镜像特效,要如何做?我想一般不外乎是先复制个图片,并将其垂直翻转,接着再对这翻转的图片,加个由灰到黑的渐层mask 即可。

好了,让我们来看一下答案。底下就是帮图片加上镜像特效的程式范例。

 

public  class  MirrorView extends  View {

Paint m_paint;

int m_nShadowH;

Drawable m_dw;

Bitmap m_bitmap;

Matrix mMatrix;

int shadowHeight;

public MirrorView(Context context, Bitmap bitmap) {

super (context);

m_bitmap = bitmap;

_Init();

}

private void _Init() {

//m_dw = new BitmapDrawable(BitmapFactory.decodeResource(getResources(),  R.drawable.icon));

m_dw = new BitmapDrawable(m_bitmap);

m_dw.setBounds(0,0,m_dw.getIntrinsicWidth(),m_dw.getIntrinsicHeight());

m_nShadowH = m_dw.getIntrinsicHeight()/1;

m_paint = new Paint(Paint.ANTI_ALIAS_FLAG );

LinearGradient lg = new LinearGradient(0, 0, 0, m_nShadowH, 0xB0FFFFFF, 0×00000000, Shader.TileMode.CLAMP );

m_paint.setShader(lg);

m_paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.MULTIPLY ));

mMatrix = new Matrix();

}

@Override

public void onDraw(Canvas canvas) {

super .onDraw(canvas);

int nX = 0;

int nY = 0;

_DrawNormalImg(canvas, nX, nY);

_DrawMirror(canvas, nX, nY);

}

private void _DrawNormalImg(Canvas canvas, int nX, int nY) {

canvas.save(Canvas.MATRIX_SAVE_FLAG );

canvas.translate(nX, nY);

m_dw.draw(canvas);

canvas.restore();

}

private void _DrawMirror(Canvas canvas, int nX, int nY) {

int nW = m_dw.getIntrinsicWidth();

int nH = m_dw.getIntrinsicHeight();

shadowHeight=nH/2;

float [] src=/blog_article/{0,/index.html nH, nW, nH, nW,nH – m_nShadowH, 0, nH – m_nShadowH};

float [] dst={ 0, nH, nW, nH,nW, shadowHeight, 0, shadowHeight };

canvas.save();

mMatrix.setPolyToPoly(src, 0, dst, 0, src.length >> 1);

canvas.concat(mMatrix);

//draw mirror image

canvas.save(Canvas.MATRIX_SAVE_FLAG );

canvas.scale(1.0f, -1.0f);

canvas.translate(nX, -(nY + nH * 2));

canvas.clipRect(0, nH, nW, nH – m_nShadowH);

m_dw.draw(canvas);

canvas.restore();

//draw mask

canvas.save();

canvas.translate(nX, nY + nH);

canvas.drawRect(0, 0, nW, m_nShadowH, m_paint);

canvas.restore();

canvas.restore();

}

}
 

_DrawMirror() 方法是关键。用Photoshop 要如何做出镜像特效?第一步是先画出垂直翻转的图片。

Android 绘图座标体系预设的原点在左上角,X 轴往右是越来越大的正值,而Y 轴往下,则是越来越大的正值。要画出垂直翻转的图片,其实也就是要垂直翻转整个绘图座标体系。在 Android 中,要如何做?答案就是 canvas.scale(1.0f, -1.0f)。很简单吧,没想到给scale() 函式一个负值,就可以翻转相对应的轴。

在Photoshop 中,做镜像特效的第二步是要对这翻转的图片,加个由灰到黑的渐层mask。

在Android 中,要画渐层色,那就一定得用LinearGradient 这个类别。至于要对背景图加上个mask,就请参考一下Paint 的setXfermode() 函式。 _Init() 这个函式,就是负责生成一个由灰到黑渐层mask 的m_paint 物件。

这个控件我测试过,200张图片加入adapter,在大数据量情况下性能也没有问题。

1 楼 gqdy365 2010-08-30  
不错,博主有没有实现过iPhone下方那个上面放图标的立体背景区域效果?能指点一下思路吗?
2 楼 【Android】Specter 2010-10-25  
请教一下那个3d的效果是怎么做的呢?
3 楼 Steven_zhu 2010-11-02  
楼主可以试试放一张2M左右的图片试试,会出现很爽的问题的哦。

    
[3] 跟踪自己的程序安装启动和崩溃信息
    来源: 互联网  发布时间: 2014-02-18
追踪自己的程序安装启动和崩溃信息
只需要在软件中嵌入3行代码,就可以追踪自己的软件有多少人下载,每天有多少次启动,为什么崩溃了??
下面是我的追踪情况:





SMSTimer的错误报告情况:



从报告中可以很容易的看到Xperia这款手机安装我的程序时老是崩溃,我查看具体的log信息,就可以对应的解决问题。
这样就可以改善自己的产品了。

相信许多开发者已经摇摇欲试了,对于个人开发者没有许多测试机的情况下,这样就可以把用户的手机拿来做测试机了,随时查看报告,无论是在论坛发的App还是在AndroidMarket或者MM,都能很容易的查看用户使用情况。
(上面说了一堆废话,下面进入正题,如何追踪)
一,

到www.umeng.com注册一个账号,友盟统计是专门为开发者做app统计的网站,是李开复的创新工场的作品,可信任,有保证。



二,
注册之后,点击我的产品(左上),在新页面点击添加新应用(这样就可以检测你的应用了)



----------



随便填写就行了,无所谓的。
我填的是:
追捕外星人(游戏名字)类型-游戏,描述:一款益智游戏
关键是下面,提交之后有一个key,只要把这个写道程序中,就可以追踪了。




如果你的是Android应用程序的话,就点击Android的图标,下面
就有个更详细的说明,教你如和嵌入代码,除了傻瓜,没人看不懂得哦!
按照这个开发指南,一步一步,就OK。




先点击那个下载链接把umeng的jar包下载到本地,然后按照开发指南,嵌入3行代码就搞定了。
最后,打开手机或者模拟器测试你的程序,这时,当你再次点击我的产品时,就会看到上面的东西了
是不是很简单呢??

事实上经过测试,把
MobclickAgent.onResume(this);
MobclickAgent.onPause(this);
放到别的地方也可以的,都能看到数据,我有个service,就分别放在了
onCreate()和onDestroy()里面,结果页能看到数据(欣喜若狂)。
到此为止了,我觉得那个程序crash信息最有用了。

    
最新技术文章:
▪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