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;
我想向父视图添加一个宽度为 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;