Android,添加高度百分比的视图

Android, add view with height in percentage

我想向父视图添加一个宽度为 100% 且 X%(例如:让其为 40%)的视图

我有这个:

private RelativeLayout getParentView(){
    return (RelativeLayout) MyActivity.this.getWindow().getDecorView().getRootView();
}

我应该将父视图转换为 LinearLayout 或 RelativeLayout 可以实现吗?

以及如何以编程方式设置 'myView' 宽度和高度百分比?

谢谢

您可以通过简单地获取屏幕宽度来做到这一点

  public static int getScreenWidth(Context context) {
    DisplayMetrics displayMetrics = new DisplayMetrics();
    ((Activity)context).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
    return displayMetrics.widthPixels;
}

将其乘以百分比并给出参数以这样查看:

//For 40% height according to the screen width.
view.getLayoutParams().height = (int) (getScreenWidth(mContext) * 0.40);

希望对您有所帮助。

private static void updateDimen(Activity activity){
    DisplayMetrics displayMetrics = new DisplayMetrics();
    activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
    screenHeight = displayMetrics.heightPixels;
    screenWidth = displayMetrics.widthPixels;
}

使用上面的代码获取屏幕高度和屏幕宽度。

然后获取您的 Layout 实例,获取其 LayoutParams 实例并更新维度

params.height = screenHeight * 0.6;
params.width = screenWidth * 0.6;