在我的应用程序中,我从我的web服务器下载图像(每个服务器都有不同的分辨率),但是我想在片段屏幕上一致地显示这些图像。
理想情况下,我希望图像有width="match_parent“和高度,精确地占屏幕的1/3。此外,图像应该显示在内容布局的一部分中,其他控件可能比屏幕高度更大(因此需要滚动)。
我尝试将图像和其他内容放在LinearLayout中,然后将权重设置为1(最大权重为3),但是由于图像和其他内容都在滚动视图中,所以它似乎不太有效。图像要么太大,要么太小(取决于图像的方向和分辨率),而我的1/3设置似乎没有得到尊重。
除了将高度固定到预先确定的(dp)值之外,还有其他方法吗?除非没有其他选择,否则我想避免那样做。
非常感谢,
发布于 2014-08-06 13:32:03
您可以始终通过编程将每个图像的高度设置为屏幕高度的1/3,如下所示
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
ImageView img = (ImageView) findViewById(R.id.image);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) img.getLayoutParams();
params.height = (int)height / 3;
img.setLayoutParams(params);https://stackoverflow.com/questions/25154525
复制相似问题