为GridView的Andr​​oid第一项更大的图像 [英] Bigger image for first item of the gridview android

查看:255
本文介绍了为GridView的Andr​​oid第一项更大的图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是新用户,并在这里工作Android应用程序请求的自定义滚动视图(如下图所示链接)。这是非常相似的,除了第一个图像一个gridview。我试图用沿补充大量的ImageView与GridView控件。但它失败。任何人有什么建议?

I am new user here and working android app that requests a custom scroll view (shown as below link). It is very similar a gridview except the first image. I tried to use add a large imageview along with gridview. But it fails. Anyone has any suggestion?

推荐答案

我奶源得到使用低于code如下图:

I mange to get following image using the below code:

我把code将该博客:

// please check this part.
            @Override
            public View getView(int arg0, View arg1, ViewGroup arg2) {
                ImageView imageView;
                if(arg1==null){
                    imageView = new ImageView(DemoGridViewActivity.this){
                        @Override
                        protected void onMeasure(int widthMeasureSpec,
                                int heightMeasureSpec) {
                            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
                            setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth());
                        }
                    };
                }else{
                    imageView = (ImageView) arg1;
                }

                imageView.setLayoutParams(new GridView.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT));
                imageView.setBackgroundColor(Color.BLUE);
                imageView.setScaleType(ScaleType.FIT_XY);
                Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
//according to the position return proper imageview with bitmap
//for case 0 - top-left part
//for case 1 - top-right
//for case 5 - bottom-left
//for case 6 - bottom-right


                switch(arg0){
                case 0:
                    imageView.setImageBitmap(Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth()/2, bitmap.getHeight()/2));
                    imageView.setBackgroundColor(Color.RED);
                    return imageView;
                case 1:
                    imageView.setImageBitmap(Bitmap.createBitmap(bitmap, bitmap.getWidth()/2, 0, bitmap.getWidth()/2, bitmap.getHeight()/2));
                    imageView.setBackgroundColor(Color.GREEN);
                    return imageView;
                case 5:
                    imageView.setImageBitmap(Bitmap.createBitmap(bitmap, 0, bitmap.getHeight()/2, bitmap.getWidth()/2, bitmap.getHeight()/2));
                    imageView.setBackgroundColor(Color.YELLOW);
                    return imageView;
                case 6:
                    imageView.setImageBitmap(Bitmap.createBitmap(bitmap, bitmap.getWidth()/2, bitmap.getHeight()/2, bitmap.getWidth()/2, bitmap.getHeight()/2));
                    imageView.setBackgroundColor(Color.MAGENTA);
                    return imageView;
                default:
                    imageView.setImageResource(R.drawable.ic_launcher);
                    return imageView;
                }
            }

        }
    }


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

        <GridView
            android:id="@+id/gridView1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:numColumns="5" >
        </GridView>

</LinearLayout>

这篇关于为GridView的Andr​​oid第一项更大的图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆