我正在开发一个Android应用程序。我正在以编程方式创建视图,这对于此应用程序来说是必要的,因为它应该是动态的。我可以根据hdpi,mdpi和ldpi放置资源,但我想知道如何设置视图的宽度和高度,以便它在所有Android屏幕上看起来都正常。目前我正在使用密度因子如下。
ImageView imgMainPic = new ImageView(this);
RelativeLayout.LayoutParams rllpImg =
new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT,
(int)(440*Global.nDensity));
rllpImg.addRule(RelativeLayout.ALIGN_TOP,mainRelativeLyt.getId());
imgMainPic.setId(1);
imgMainPic.setLayoutParams(rllpImg);
imgMainPic.setBackgroundResource(R.drawable.pic1);
mainRelativeLyt.addView(imgMainPic);
答案 0 :(得分:0)
根据设备计算视图的宽度和高度不是一个好习惯。最好的方法是使用small,large,xlarge等为不同的屏幕定义不同的布局。以下是关于支持多种屏幕尺寸的link到Android开发人员..
答案 1 :(得分:0)
尝试使用WRAP_CONTENT作为高度
RelativeLayout.LayoutParams rllpImg = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);