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

时间:2017-08-31 09:54:11

标签: java android user-interface android-view relativelayout

我想在父视图中添加100%宽度和X%的视图(例如:让它变为40%)

我有这个:

@echo off & setlocal enableextensions enabledelayedexpansion
set mysql_dir=C:\database\mysql
echo.
echo.
echo Search For Current MySQL Password
FOR /F "tokens=3* delims=:" %%G in (
    'find /I "A temporary password is generated for root@localhost:" ^<%mysql_dir%\data\%ComputerName%.err'
) DO set "temp_mysql_password=%%H"
set "temp_mysql_password=%temp_mysql_password:~1%"
echo.
echo.
echo Current MySQL password: %temp_mysql_password%

我应该将父视图转换为LinearLayout还是RelativeLayout可以实现这个?

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

由于

2 个答案:

答案 0 :(得分:4)

您只需获取屏幕宽度

即可
  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);

希望这有帮助。

答案 1 :(得分:0)

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;