Вид позиции ниже панели действий с наложением
Я хотел бы позиционировать представление под панелью действий с overlay. Есть ли способ сделать это с помощью XML-макета?
Я бы хотел избежать использования констант, поскольку есть уже как минимум 4 возможных значения, и это число, вероятно, будет расти.
Совместимость с ActionBarSherlock является плюсом.
Ответы
Ответ 1
android:layout_marginTop="?attr/actionBarSize"
Это будет учитывать изменения размера в зависимости от конфигурации экрана автоматически. Вы можете увидеть демонстрацию его использования в примере "Overlay" примера "Demos", который поставляется с ActionBarSherlock.
Ответ 2
Jake Wharton answer не работает, если вы обрабатываете изменения конфигурации.
Вот как я решил эту проблему по коду, если это кому-то помогает:
@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();
}
Ответ 3
использовать верхнюю часть верхней части
Android: paddingTop = "50dp"