我想在overlay的操作栏下方放置一个视图。有没有办法通过XML布局来做到这一点?
我想避免使用常量,因为已经存在至少4 possible values并且该数字可能会增长。
与ActionBarSherlock的兼容性是一个优势。
答案 0 :(得分:43)
android:layout_marginTop="?attr/actionBarSize"
这将自动考虑基于屏幕配置的大小变化。你可以在ActionBarSherlock附带的'Demos'示例的“Overlay”示例中看到它的使用演示。
答案 1 :(得分:7)
这就是我通过代码解决这个问题的方法,以防它对任何人有所帮助:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
layoutTheView();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
layoutTheView();
}
private void layoutTheView() {
ActionBar actionBar = this.getSupportActionBar();
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) mTheView.getLayoutParams();
int actionBarHeight = actionBar.getHeight();
params.setMargins(0, actionBarHeight, 0, 0);
mTheView.setLayoutParams(params);
mTheView.requestLayout();
}
答案 2 :(得分:-1)
使用填充顶部
机器人:paddingTop =" 50dp"