我有一些分辨率为320x320的图像。
对于layout_width
,它设置了值fill_parent
但我不知道应该为layout_height
我想要有相同的高度和宽度尺寸。
如果我设置layout_height=wrap_content
,宽度是高度的两倍......
如何在一些布局中填充x以填充x中的所有空间,但y尺寸与x的大小相同
答案 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
时,会占据整个可见的左侧屏幕区域。
解决方案
dp
为您的布局提供一些修复大小,然后您必须为不同设备的大小制作不同的XML文件。weightSum
和layout_weight
属性,并通过适当的重量来管理布局的高度和宽度。 [我个人建议使用weight
]