2012-11-12 138 views
1

假设我有一个LinearLayout,其中layout_width设置为fill_parent。我希望其layout_heightlayout_width的1.5倍。根据宽度的动态高度

我不能硬编码它,因为在不同的设备屏幕密度不同。

我有问题执行此,因为我发现没有sethight或setWidth方法在ViewViewGroup

+1

你不知道,直到运行时的ViewGroup有多大你的视线高度。因此,在运行时,使用布局参数获取布局宽度并将高度设置为宽度* 1.5。 – Simon

回答

-1

在你的活动得到屏幕宽度

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

然后基于您的宽度

View myView = findViewById(R.id.myView); 
myView.getLayoutParams().width = displaymetrics.widthPixels * 1.5f; 
+0

'fill_parent'并不意味着填满屏幕,并以这种方式它可能是错误的。 – onemach

相关问题