首页 文章

Android - 我这样做对吗?

提问于
浏览
1

我正在构建一个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

即使实际高度(以像素为单位)为1280,变量screenHeight仍返回1184.变量screenWidth似乎没问题 . 那么如何才能获得以像素为单位的实际屏幕高度?

1 回答

  • 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);
    

    它同样的东西,但它迫使android .

相关问题