我想在带有叠加层的操作栏下方放置一个视图。有没有办法通过 XML 布局做到这一点?
我想避免使用常量,因为已经至少有4 个可能的值,而且这个数字可能会增长。
与ActionBarSherlock的兼容性是一个加号。
我想在带有叠加层的操作栏下方放置一个视图。有没有办法通过 XML 布局做到这一点?
我想避免使用常量,因为已经至少有4 个可能的值,而且这个数字可能会增长。
与ActionBarSherlock的兼容性是一个加号。
android:layout_marginTop="?attr/actionBarSize"
这将根据屏幕配置自动考虑大小的变化。您可以在 ActionBarSherlock 附带的“Demos”示例的“Overlay”示例中看到它的使用演示。
如果您正在处理配置更改,杰克沃顿的回答不起作用。
这就是我通过代码解决这个问题的方法,以防它帮助任何人:
@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();
}
使用填充顶部
android:paddingTop="50dp"