您的位置:首页 > 移动开发 > Android开发

Android GridView中Item宽高不正常的问题解决

2015-07-23 14:40 435 查看
我是在实现这个界面的时候遇到了这个问题




是什么问题呢?




可以看到布局写好是这个样子的,而那些Item的大小有些太小了

也许你说放图进去就好了

但是放一些小尺寸的图会显示的非常怪异

一开始想 应该是item_xxx.xml里头参数没写好吧?

于是去改Item布局的参数 ,试过指定px,fill parent都没有什么卵用。

那最后是怎么解决的呢?

我在搜了好久之后发现一句神评论:“关键在于adapter!”

一开始还不信,但我尝试在adapter代码里指定其宽高之后,就不得不承认这个事实了。

下面放代码:

@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        ViewHolder holder = null;
        if(convertView == null){
            convertView = inflater.inflate(R.layout.item_grid_questionset, null);

            //指定Item的宽高
            DisplayMetrics dm = new DisplayMetrics();
            ((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(dm);
            int height = dm.heightPixels ;//高度
            convertView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,height/5));

            holder = new ViewHolder();
            //findViewById......
            holder.imageView = (ImageView) convertView.findViewById(R.id.img_questionset_item_grid);
            holder.textView = (TextView) convertView.findViewById(R.id.tv_questionset_item_grid);
            convertView.setTag(holder);
        }else{
            holder = (ViewHolder)convertView.getTag();
        }
        final QuestionSetInfo item = itemList.get(position);
        //界面刷新与设置监听器......
        fb.display(holder.imageView, item.getCoverMapUrl(), bitmap, bitmap);
        holder.imageView.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent intent = new Intent(context,ExamEnterActivity.class);
                intent.putExtra("bean", item);
                context.startActivity(intent);
            }
        });
        holder.textView.setText(item.getQuestionSetName());
        return convertView;
    }


主要是重新设置item布局的宽高参数。也可以用于动态修改Grid/ListView里面每个Item的宽高喔!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: