Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 以编程方式将填充父对象的宽度设置为Linearlayout_Android_Android Framelayout - Fatal编程技术网

Android 以编程方式将填充父对象的宽度设置为Linearlayout

Android 以编程方式将填充父对象的宽度设置为Linearlayout,android,android-framelayout,Android,Android Framelayout,我在应用程序中使用滑块面板 现在,我的问题是,当我将设备屏幕旋转到纵向时,其宽度不会改变。我试图修改一些代码,它的宽度是完美的,但也得到了错误。所以请检查这个 我的代码如下。滑动面板是线性布局,因此需要为其设置宽度 代码: metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); panelWidth = (int) ((metrics.widthPixels) * 0.

我在应用程序中使用滑块面板

现在,我的问题是,当我将设备屏幕旋转到纵向时,其宽度不会改变。我试图修改一些代码,它的宽度是完美的,但也得到了错误。所以请检查这个

我的代码如下。滑动面板是线性布局,因此需要为其设置宽度

代码:

metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
panelWidth = (int) ((metrics.widthPixels) * 0.70);

headerPanel = (RelativeLayout) findViewById(R.id.header);
headerPanelParameters = (LinearLayout.LayoutParams) headerPanel
            .getLayoutParams();
headerPanelParameters.width = metrics.widthPixels;
headerPanel.setLayoutParams(headerPanelParameters);

menuPanel = (RelativeLayout) findViewById(R.id.menuPanel);
menuPanelParameters = (FrameLayout.LayoutParams) menuPanel
            .getLayoutParams();
menuPanelParameters.width = panelWidth;
menuPanel.setLayoutParams(menuPanelParameters);

slidingPanel = (LinearLayout) findViewById(R.id.slidingPanel);
slidingPanelParameters = (FrameLayout.LayoutParams) slidingPanel
            .getLayoutParams();
slidingPanelParameters.width = metrics.widthPixels;
slidingPanel.setLayoutParams(slidingPanelParameters);

填充父项由静态最终整数表示。但请注意,自API版本8以来,填充父项已被替换为匹配父项。因此,在LinearLayout.LayoutParams对象中使用它以编程方式设置填充父对象。

框架布局在哪里?对不起,它是LinearLayout。slidingPanel=(LinearLayout)findViewById(R.id.slidingPanel);我需要将宽度设置为slidingPanelParameters。您的清单中有方向标志吗?有。我有国旗。如何将填充宽度设置为slidingPanelParameters?cz它正在影响一切。哦,那么如何将该宽度分配给slidingPanelParameters?不
slidingPanelParameters.width=ViewGroup.FILL\u PARENT工作?然后压缩该部分意味着剩余宽度,当任何人点击滑块菜单按钮时,它显示活动。请回答先生。在那里设置什么?您已经将menuPanel编程为占据70%的宽度,所以只剩下30%用于滑动面板。你期望它做什么?