文章标题

项目中遇到的技术问题

*一,判断当前的网络状态,如果是2g、3g网络下,让图片无法显示,显示默认值,当时wifi情况下,让其加载!

    **首先,先获取这个按钮,找到之后,设置当前的状态,并通过SharePreference进行存储
    **代码如下
switcher_load_picture = (SwitchButton) findViewById(R.id.switcher_load_picture);
        boolean isDisplay=getSharedPreferences("sp", MODE_PRIVATE).getBoolean("isDisplay",false);
        switcher_load_picture.setChecked(isDisplay);
        switcher_load_picture.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                // TODO Auto-generated method stub
                getSharedPreferences("sp", MODE_PRIVATE).edit().putBoolean("isDisplay", isChecked).commit(); 
            }    
        });
**这段代码是获取当前的选择的状态,进行存储,然后在网络加载图片的地方,进行获取当前的网络状态,即当时选择的状态,如果是WiFi情况下,那么久让他加载,如果不是,那么久让他显示默认图片
代码如下:
SharedPreferences sp = getApplicationContext()
                        .getSharedPreferences("sp", Context.MODE_PRIVATE);
                boolean isDisplay = sp.getBoolean("isDisplay", true);
                if (isDisplay) {
                    bitmapUtils.display(((GridViewHolder) holder).ivThumbnail,
                            data.getIMG_ImgSrc());
                } else {
                    ((GridViewHolder) holder).ivThumbnail
                            .setImageResource(R.drawable.friends_sends_pictures_no);

                }

这样,就可以保证,在wifi情况下才能加载图片了,其他状态下,是不能加载的

适配遇到的问题

1.三星手机,拍照的问题,旋转,需要进行的处理是让这个图片进行翻转,在拍摄照片的地方,进行保存的时候,进行如下代码的编写,就能改变照片的状态,让其翻转

代码如下:

ImageView iv = (ImageView) findViewById(R.id.iv);
/**
 *     图片旋转:
 *         Android中原图是不能进行操作的,必须要先复制一张图到内存,然后再操作
 *         旋转是在绘制过程中进行的
 * */
//加载原图
Bitmap bitmap = BitmapFactory.decodeFile("/mnt/sdcard/1.jpg");
//搞一个一样大小一样样式的复制图
Bitmap copybm = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());
//获取复制图的画布
Canvas canvas = new Canvas(copybm);
//获取一个画笔,设置颜色
Paint paint = new Paint();
paint.setColor(Color.RED);
//设置图片绘制角度——设置矩阵
Matrix matrix = new Matrix();
     /**       
matrix.setValues(new float[]{//这是矩阵的默认值
1.5f,0,0,
0,1,0,
0,0,1
});
而旋转其实是将每个点坐标和sinx  cosx进行计算...
    */
//安卓提供了便捷方法
matrix.setRotate(30,bitmap.getWidth()/2,bitmap.getHeight()/2);
//向画布绘制,绘制原图内容
canvas.drawBitmap(bitmap, matrix, paint);
//canvas.drawPoint(10, 10, paint); 向指定位置画一个点
iv.setImageBitmap(copybm);
2,三星480*800的手机,在网络加载图片的时候,GridView加载的图片会出现拉伸的现象,需要找到填充图片的位置,进行这个图片位置的宽高设置为固定的,当然这需要单独的建立一个文件夹,在这个文件夹中存储适应480*800的手机
3,三星手机,TextView加载文本时,如果这个文本里面有数字,字母,文字的话,会出现还没有写完第一行,就会换行显示,这时需要处理的就是,在480*800的手机文件夹布局里面,将这一段TextView字体变小!就能够解决了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值