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%用于滑动面板。你期望它做什么?