动态创建的ImageView在创建时会被拉伸

时间:2015-01-16 00:44:56

标签: java android dynamic view imageview

在我的Android应用程序中,我根据用户之前是否购买过建筑物动态创建ImageViews。 (建筑物是图像)。我的问题是,当创建ImageView时,图像被拉伸,ImageView看起来很大。我不知道为什么它会这样做,因为我在我的应用程序的不同部分做同样的事情,并且建筑物像他们应该的那样加载正常尺寸。

以下是动态创建的ImageView的代码:

ImageView mainHut = new ImageView(BattleActivity.this);
mainHut.setImageResource(R.drawable.mainhut);
mainHut.setX(mainHutX);
mainHut.setY(mainHutY);
bottomLayout.addView(mainHut);

它被添加到名为bottomLayout的FrameLayout中。

这是bottomLayou FrameLayout:

<FrameLayout 
    android:id="@+id/gameBottom"
    android:layout_weight="0.25"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

</FrameLayout>

感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:1)

您未明确指定布局参数,因此addView()方法调用generateDefaultLayoutParams()[请参阅:What's the default layout of an ImageView?]

在Java中指定布局参数:

mainHut.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
相关问题