如何使layout_height和layout_width具有相同的大小

时间:2012-07-02 09:03:16

标签: android android-layout

我有一些分辨率为320x320的图像。

对于layout_width,它设置了值fill_parent

但我不知道应该为layout_height

设置什么

我想要有相同的高度和宽度尺寸。

如果我设置layout_height=wrap_content,宽度是高度的两倍......

如何在一些布局中填充x以填充x中的所有空间,但y尺寸与x的大小相同

4 个答案:

答案 0 :(得分:2)

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

int width = metrics.widthPixels;

现在使用宽度动态设置高度。

这是设备屏幕的宽度,因为您使用的是layout_width = fill parent。

答案 1 :(得分:1)

您是否尝试过明确设置layout_height

例如

android:layout_height="320dip"

答案 2 :(得分:1)

在您的活动的onCreate(...)方法中,在致电setContentView(...);

后立即开始

使用此:

ImageView image = (ImageView)findViewById(R.id.image);
image.getLayoutParams().width = image.getHeight();

答案 3 :(得分:1)

  

如果我设置layout_height = wrap_content,则宽度比两倍大   高度...

我认为这是因为每当你将高度/宽度设置为WRAP_CONTENT 时,它会使布局宽或高,以至于它可以容纳布局的背景,布局的子视图

当设置为FILL_PARENT时,会占据整个可见的左侧屏幕区域

  

解决方案

  1. 您可以使用dp为您的布局提供一些修复大小,然后您必须为不同设备的大小制作不同的XML文件。
  2. 您可以尝试使用LinearLayout的weightSumlayout_weight属性,并通过适当的重量来管理布局的高度和宽度。 [我个人建议使用weight]