ImageView和LinearLayout,它在Image的顶部和底部获得了空白区域

时间:2011-10-10 12:02:05

标签: android imageview android-linearlayout

我在Android上遇到LinearLayout和ImageView的问题。我不能使用XML来定义布局,我试图用java代码来理解它。

我在linearLayout上有两个元素,一个标题(imageview)和一个body(带有图像的gridview)。因为imageview它在原始图像的顶部和底部得到一些空白空间,所以出错了。

我用于Header的原始Imageview在图像的顶部和底部没有这些空白区域,我把行header.setBackgroundColor(Color.WHITE);然后我注意到imageview出了问题,因为它得到了这些空白的空间。

我测试了多个标题图像,我注意到图像越高,空白空间越大因此,它们会因某种错误/错误而产生动态

如何删除它们?

这是一个捕获:

enter image description here

以下是代码:

LinearLayout ll = new LinearLayout(this);
    ll.setOrientation(LinearLayout.VERTICAL);
    header = new ImageView(getApplicationContext());
    header.setImageResource(R.drawable.header_acc_old);
    header.setBackgroundColor(Color.WHITE);

    myGridView = new GridView(this);
    myImageAdapter=new ImageAdapter(this);
    myGridView.setAdapter(myImageAdapter);

    ll.addView(header);
    ll.addView(myGridView);
    setContentView(ll);

我尝试过这些解决方案,但它们不起作用:

ll.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
ll.addView(header,layoutParams);

1 个答案:

答案 0 :(得分:1)

将图片设置为ImageView时,请尝试使用setBackgroundResource代替setImageResource