Java 安卓&x2013;我这样做对吗?

Java 安卓&x2013;我这样做对吗?,java,android,android-layout,Java,Android,Android Layout,我正在构建一个android应用程序,需要以编程方式添加布局。这句话似乎让我很难过: RelativeLayout.LayoutParams rightScreenParams = new RelativeLayout.LayoutParams( (int) (screenWidth * 0.25), (int) (screenHeight * 0.94)); 变量screenWidth和screenHeight是屏幕的宽度和高度(以像素为单位)。布局应为父布局宽度的2

我正在构建一个android应用程序,需要以编程方式添加布局。这句话似乎让我很难过:

RelativeLayout.LayoutParams rightScreenParams = new RelativeLayout.LayoutParams(
            (int) (screenWidth * 0.25), (int) (screenHeight * 0.94));
变量screenWidth和screenHeight是屏幕的宽度和高度(以像素为单位)。布局应为父布局宽度的25%,高度的94%。当我将参数添加到布局,然后添加布局时,它占据了整个屏幕,而不是我提到的尺寸

那么我是否正确地使用了这个构造函数?感谢您的帮助。谢谢你抽出时间

编辑:

我在onCreate()中获得屏幕宽度和屏幕高度:

可变屏幕高度返回为1184,即使实际高度(以像素为单位)为1280。可变屏幕宽度似乎很好。那么,我怎样才能得到以像素为单位的实际屏幕高度呢

RelativeLayout.LayoutParams rightScreenParams = new RelativeLayout.LayoutParams(
           RelativeLayout.LayoutParams.Wrap_Parent,samehere);
View.setLayoutParams(rightScreenParams);//your view
//after you add it to the layout then you call
rightScreenParams.width = (int) (screenWidth * 0.25);
rightScreenParams.height = (int) (screenHeight * 0.94);
这是同样的事情,但它强制android


这是同样的事情,但它强制android。

你能发布代码的其他部分吗?即创建和添加布局?另外,你是如何获得屏幕宽度和高度的?
screenWidth/4,screenHeight*94/100
在某些情况下可能更快。请发布代码的其他部分,即创建和添加布局?还有如何获得屏幕宽度和高度?
screenWidth/4,screenHeight*94/100
在某些情况下可能更快。您可能想在调用
setLayoutParams
之前更改值,对吧?似乎不,我的意思是每个字母都对应。如果是我,我所要做的就是查看.getLayoutParams().width=myWidth-(使用起来似乎合理,因为您可能使用了:)lol@sanjaymanoharp可能您想在调用
setLayoutParams
之前更改值,对吧?似乎不,我是说每个字母都要更改。如果是我,我所要做的就是查看.getLayoutParams().width=myWidth-(因为您可能使用了:)lol@SanjayManohar
RelativeLayout.LayoutParams rightScreenParams = new RelativeLayout.LayoutParams(
           RelativeLayout.LayoutParams.Wrap_Parent,samehere);
View.setLayoutParams(rightScreenParams);//your view
//after you add it to the layout then you call
rightScreenParams.width = (int) (screenWidth * 0.25);
rightScreenParams.height = (int) (screenHeight * 0.94);