目前我已尝试将线性布局对齐到左侧和中央,但目前无法使其正常工作。请参阅以下代码:
CustomLinearLayout sideMenu = new CustomLinearLayout(this);
RelativeLayout.LayoutParams sideMenuParams = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
sideMenuParams.addRule(RelativeLayout.CENTER_VERTICAL);
sideMenuParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
sideMenu.setLayoutParams(sideMenuParams);
sideMenu.setOrientation(LinearLayout.VERTICAL);
sideMenu.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
sideMenu.setBackgroundColor(Color.TRANSPARENT);
//sideMenu.setGravity(Gravity.CENTER);
sideMenu.addView(AppSoups);
sideMenu.addView(salads);
sideMenu.addView(ribs);
sideMenu.addView(favorites);
sideMenu.addView(sandwiches);
sideMenu.addView(sides);
sideMenu.addView(desserts);
RelativeLayout screenLayout = new RelativeLayout(this);
screenLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
screenLayout.setBackgroundResource(R.drawable.body_bkgd);
screenLayout.addView(sideMenu);
setContentView(screenLayout);
CustomLinearLayout只是一个扩展LinearLayout以进行自定义绘制的类。无论如何我在这里做错了什么?到目前为止,它对齐左侧和相对布局的顶部,但我无法将其置于中心位置。就像旁注一样,我的规则中的任何一个或两个都不能与将LinearLayout设置为中心(我在代码中注释掉它)一起工作。最后,我添加到线性布局的视图只是文本视图 - 只是FYI(代码未显示)
答案 0 :(得分:2)
我认为你“覆盖你在第5行设置的布局参数,你在第7行设置了新的布局参数,所以
sideMenuParams.addRule(RelativeLayout.CENTER_VERTICAL);
sideMenuParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
并没有真正起作用
答案 1 :(得分:1)
在这里
screenLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
尝试将WRAP_CONTENT更改为FILL_PARENT
答案 2 :(得分:0)
您可以将xml文件添加到包含自定义布局的位置吗?