我正在构建一个Android应用程序,需要以编程方式添加布局。这条线似乎让我很难过:
RelativeLayout.LayoutParams rightScreenParams = new RelativeLayout.LayoutParams(
(int) (screenWidth * 0.25), (int) (screenHeight * 0.94));
变量screenWidth和screenHeight是屏幕的宽度和高度(以像素为单位)。布局应该是父布局宽度的25%,高度的94%。当我将参数添加到布局然后添加布局时,它会占用整个屏幕而不是我提到的尺寸。
我正确使用这个构造函数吗?任何帮助表示赞赏。谢谢你的时间。
编辑:
我在onCreate()中获得了screenWidth和screenHeight:
DisplayMetrics displayMetrics = new DisplayMetrics();
WindowManager wm = (WindowManager) getApplicationContext()
.getSystemService(Context.WINDOW_SERVICE);
wm.getDefaultDisplay().getMetrics(displayMetrics);
screenWidth = displayMetrics.widthPixels;
screenHeight = displayMetrics.heightPixels
变量screenHeight返回1184,即使实际高度(以像素为单位)为1280.变量screenWidth似乎没问题。那么如何才能获得以像素为单位的实际屏幕高度?
答案 0 :(得分:0)
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);
它同样的东西,但它强制安卓。