我正在尝试在屏幕上上下移动工具栏的简单任务,但它只能工作一次。按下按钮的工具栏移动到顶部,但即使出现“移动到底部”消息,我也无法将其恢复到底部。见代码:
boolean toolBarAtBottom = true;
private void moveToolBar(){
LinearLayout toolBar = (LinearLayout) findViewById(R.id.toolBar);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
lp.height = toolBar.getHeight();
if (toolBarAtBottom){
lp.addRule(RelativeLayout.ALIGN_TOP, RelativeLayout.TRUE);
}else{
lp.addRule(RelativeLayout.ALIGN_BOTTOM, RelativeLayout.TRUE);
Toast.makeText(DrawActivity.this, "move to bottom", Toast.LENGTH_SHORT).show();
}
toolBar.setLayoutParams(lp);
toolBarAtBottom = !toolBarAtBottom;
}
任何想法如何让它不止一次?
答案 0 :(得分:3)
您想使用RelativeLayout.ALIGN_PARENT_BOTTOM
代替RelativeLayout.ALIGN_BOTTOM
。 ALIGN_BOTTOM
将视图底部与另一个视图的底部对齐。 ALIGN_PARENT_BOTTOM
会将其移至其父容器的底部。
以下是文档的链接:http://developer.android.com/reference/android/widget/RelativeLayout.html