Android平台手机图片浏览软件的开发实现(17)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

Android平台手机图片浏览软件的开发实现(17)


                    srcWidth,
                    bitmapWithReflection.getHeight() + REFLECTION_GAP,
                    paint);
            
            return bitmapWithReflection;  
效果图:
 
图 5 倒影
(2)    设置旋转角
继承Gallery的派生类GalleryFlow,定义最大旋转角。
private int mMaxRotationAngle = 60;
实现滑动切换旋转代码:
// Calculate the rotation angle.
rotationAngle = (int)(((float)(mCoveflowCenter - childCenter) / childWidth) * mMaxRotationAngle);
 // Make the angle is not bigger than maximum.
 if (Math.abs(rotationAngle) > mMaxRotationAngle)
            {
                rotationAngle = (rotationAngle < 0) ? -mMaxRotationAngle : mMaxRotationAngle;
            }            
transformImageBitmap(child, t, rotationAngle);
3.8    SD文件浏览设计
通过ListView控件实现目录的显示。
记录当前的父文件夹。
    File currentParent;  
 记录当前目录路径下的所有文件的文件数组。
    File[] currentFiles;  
获取列出全部文件的ListView,获取SD卡根目录,判断SD卡是否存在,存在使用当前目录下的文件和文件夹填充ListView。为ListView的列表项的单机事件绑定监听器,判断单机的列表项是不是文件,是文件添加意向Internet跳转到图片打开界面,为文件夹获取文件夹下的所有文件,由文件数确定是不是空文件,为空文件提示当前目录下不可访问或没有文件。存在文件或文件夹获取用户单击的列表项对应的文件夹,设为当前的父文件夹,保存当前的父文件夹内的全部文件和文件夹,再次更新ListView 。
实现代码:
if(currentFiles[arg2].isFile()) {
                    String imagePath = currentFiles[arg2].toString();
                    intent.putExtra(EXTRA_MESSAGE, imagePath);
                    startActivity(intent);
                    mode =  1;
                }                             
                //获取用户单击的文件夹下的所有文件  
                File[] tmp = currentFiles[arg2].listFiles();
                if (mode == 0) {
                    if(tmp == null || tmp.length == 0){  
                        Toast.makeText(OpenSDFile.this, "当前路径不可访问或该路径下没有文件", 20000).show();   (责任编辑:qin)