Вид позиции ниже панели действий с наложением - программирование
Подтвердить что ты не робот

Вид позиции ниже панели действий с наложением

Я хотел бы позиционировать представление под панелью действий с overlay. Есть ли способ сделать это с помощью XML-макета?

Я бы хотел избежать использования констант, поскольку есть уже как минимум 4 возможных значения, и это число, вероятно, будет расти.

Совместимость с ActionBarSherlock является плюсом.

4b9b3361

Ответ 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"