安卓-图片等比显示排列

前言

很多时候我们都会遇到一些图片显示的情况,譬如将图片整齐划一排列成为三行三列,但是这时候服务端给出来的图片假如没有做过处理,尺寸不一样,或大或小的话,那么我们直接显示是会有问题的,现在就开始解决这问题。

目的

目的如下,用一些示意图显示:
这里写图片描述
代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

    <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content">
        <TableLayout android:layout_width="fill_parent" android:layout_height="wrap_content">
            <TableRow>
                <ImageView android:id="@+id/image1" android:background="#aa7799" android:layout_width="100dip" android:layout_height="75dip"/>
                <ImageView android:id="@+id/image2" android:background="#3cf6fd" android:layout_width="100dip" android:layout_height="75dip"/>
                <ImageView android:id="@+id/image3" android:background="#e5bdf2" android:layout_width="100dip" android:layout_height="75dip"/>
            </TableRow>
            <TableRow>
                <ImageView android:id="@+id/image4" android:background="#f99bba" android:layout_width="100dip" android:layout_height="75dip"/>
                <ImageView android:id="@+id/image5" android:background="#9bf9ce" android:layout_width="100dip" android:layout_height="75dip"/>
                <ImageView android:id="@+id/image6" android:background="#7678e3" android:layout_width="100dip" android:layout_height="75dip"/>
            </TableRow>
            <TableRow>
                <ImageView android:id="@+id/image7" android:background="#86cbd3" android:layout_width="100dip" android:layout_height="75dip"/>
                <ImageView android:id="@+id/image8" android:background="#edc295" android:layout_width="100dip" android:layout_height="75dip"/>
                <ImageView android:id="@+id/image9" android:background="#cae39b" android:layout_width="100dip" android:layout_height="75dip"/>
            </TableRow>

        </TableLayout>

    </ScrollView>

</LinearLayout>
package com.example.apppractise.app;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;

/**
 * Created by Administrator on 2015/7/10.
 */
public class ImageListTestDemo extends Activity {

    private ImageView image1;
    private ImageView image2;
    private ImageView image3;
    private ImageView image4;
    private ImageView image5;
    private ImageView image6;
    private ImageView image7;
    private ImageView image8;
    private ImageView image9;



    @Override
    public void onCreate(Bundle savedInstanceState ){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.page_image_size_list);
        preInit();
        initUI();
        initEvents();

    }

    private void preInit(){}
    private void initUI(){
        image1=(ImageView)findViewById(R.id.image1);
        image2=(ImageView)findViewById(R.id.image2);
        image3=(ImageView)findViewById(R.id.image3);
        image4=(ImageView)findViewById(R.id.image4);
        image5=(ImageView)findViewById(R.id.image5);
        image6=(ImageView)findViewById(R.id.image6);
        image7=(ImageView)findViewById(R.id.image7);
        image8=(ImageView)findViewById(R.id.image8);
        image9=(ImageView)findViewById(R.id.image9);
    }
    private void initEvents(){}
}

普通加载

什么都不管,异步加载所有图片
结果如下:
这里写图片描述

额,ok,这样也是可以接受的,毕竟没有变形,服务端的图片各种不一样就不管了。
代码如下

package com.example.apppractise.app;

import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.widget.ImageView;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;

import java.util.ArrayList;

/**
 * Created by Administrator on 2015/7/10.
 */
public class ImageListTestDemo extends Activity {

    private ImageView image1;
    private ImageView image2;
    private ImageView image3;
    private ImageView image4;
    private ImageView image5;
    private ImageView image6;
    private ImageView image7;
    private ImageView image8;
    private ImageView image9;

    RequestQueue mQueue;
    ImageLoader imageLoader;
    //--需要加载的图片。
    ArrayList<String> imageURLs=new ArrayList<String>();



    @Override
    public void onCreate(Bundle savedInstanceState ){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.page_image_size_list);
        preInit();
        initUI();
        initEvents();
        beiginTask();

    }

    private void preInit(){
        imageURLs.add("http://d.hiphotos.baidu.com/image/pic/item/b999a9014c086e0606ae084300087bf40ad1cbb7.jpg");//圣斗士
        imageURLs.add("http://e.hiphotos.baidu.com/image/pic/item/0e2442a7d933c895a5a5d964d31373f0830200d1.jpg");//小白
        imageURLs.add("http://f.hiphotos.baidu.com/image/pic/item/9a504fc2d5628535687a1f2892ef76c6a7ef6325.jpg");//路飞长图。
        imageURLs.add("http://c.hiphotos.baidu.com/image/pic/item/37d12f2eb9389b5025aacd5a8735e5dde7116e64.jpg");//火影2
        imageURLs.add("http://h.hiphotos.baidu.com/image/pic/item/562c11dfa9ec8a1334d3b3e9f503918fa1ecc0ea.jpg");//夏目友人帐1
        imageURLs.add("http://d.hiphotos.baidu.com/image/pic/item/4ec2d5628535e5ddcc1ecbd874c6a7efce1b6282.jpg");//友人帐2
        imageURLs.add("http://d.hiphotos.baidu.com/image/pic/item/cf1b9d16fdfaaf51407d686f8d5494eef11f7a40.jpg");//神盾高达
        imageURLs.add("http://g.hiphotos.baidu.com/image/pic/item/14ce36d3d539b60054bed1bbeb50352ac65cb74e.jpg");//刹那座机
        imageURLs.add("http://h.hiphotos.baidu.com/image/pic/item/8cb1cb1349540923028796799058d109b2de49cf.jpg");//

         mQueue= Volley.newRequestQueue(this)
;        imageLoader=new ImageLoader(mQueue, new ImageLoader.ImageCache() {
            @Override
            public Bitmap getBitmap(String url) {
                return null;
            }

            @Override
            public void putBitmap(String url, Bitmap bitmap) {

            }
        });
    }
    private void initUI(){
        image1=(ImageView)findViewById(R.id.image1);
        image2=(ImageView)findViewById(R.id.image2);
        image3=(ImageView)findViewById(R.id.image3);
        image4=(ImageView)findViewById(R.id.image4);
        image5=(ImageView)findViewById(R.id.image5);
        image6=(ImageView)findViewById(R.id.image6);
        image7=(ImageView)findViewById(R.id.image7);
        image8=(ImageView)findViewById(R.id.image8);
        image9=(ImageView)findViewById(R.id.image9);
    }
    private void initEvents(){}

    private void loadImage(ImageView imageView,String imageUrl,int width,int height){
        ImageLoader.ImageListener imageListener=imageLoader.getImageListener(imageView,R.drawable.loading,R.drawable.image_error);
        imageLoader.get(imageUrl,imageListener,width,height);
    }

    private void beiginTask(){
        loadImage(image1,imageURLs.get(0),400,400);
        loadImage(image2,imageURLs.get(1),400,400);
        loadImage(image3,imageURLs.get(2),400,400);
        loadImage(image4,imageURLs.get(3),400,400);
        loadImage(image5,imageURLs.get(4),400,400);
        loadImage(image6,imageURLs.get(5),400,400);
        loadImage(image7,imageURLs.get(6),400,400);
        loadImage(image8,imageURLs.get(7),400,400);
        loadImage(image9,imageURLs.get(8),400,400);

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值