位图ImageView,在Horizo​​ntalScrollView中。如何使Horizo​​ntalScrollView高度与位图一致?

时间:2012-10-17 17:59:34

标签: android android-layout bitmap imageview horizontalscrollview

我有一个水平滚动视图,在里面我有一个ImageView。此imageview具有高宽度和低高度的位图。

我希望位图填充水平滚动视图的高度,我想从左到右滚动位图。

我尝试使用此代码,但它不起作用。它在左侧和右侧创建两个空格,这些空间为黑色。这些空间来自ImageView ...所以...位图的宽度小于ImageView

        HorizontalScrollView wvScroll = new HorizontalScrollView(this);
        wvScroll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
        iv.setImageBitmap(Util.getRemoteImage("http://mywebsite.com/90.gif"));
        //iv.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
        iv.setScaleType(ScaleType.CENTER_INSIDE);
        iv.setBackgroundColor(Color.BLACK);
        wvScroll.addView(iv);
        wvScroll.setBackgroundColor(Color.GREEN);
        mainLayout.addView(wvScroll);
我在做错了什么?我也试过iv.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));,但它不起作用,结果相同。

编辑:

我也尝试使用ScaleType.CENTER_CROP并且它不能正常工作。位图的高度高于ImageView,因为位图的顶部和底部会丢失一些像素。

1 个答案:

答案 0 :(得分:0)

如果我必须以最简单的方式处理这个问题。 我将滚动视图的宽度设置为与屏幕宽度相同。高度并不重要,因为你假设高度适合屏幕(至少这是我从你的问题中收集到的)。

根据我的记忆,滚动视图将滚动比实际屏幕更大的任何内容或任何大于指定滚动宽度或滚动高度的内容。

这可能有助于您开始获得可观的屏幕尺寸 - Get Screen width and height

当然,由于不同的设备具有不同的屏幕尺寸 - 您必须“以编程方式”执行此操作。

这种实施方式对您有用吗?