3

Я недавно обновился до AppCompatActivity и переключился с ActionBar на ToolBar.Высота vs minHeight Toolbar

Когда я проверял XML, я нашел эти два атрибута -

android:layout_height="wrap_content" 

и

android:minHeight="?attr/actionBarSize" 

В чем разница между этими двумя атрибутами? Почему layout_height установлен в wrap_content в документации ToolBar?

Необходимо ли использовать оба атрибута?

ответ

8
  • Об использования обоих атрибутов, android:layout_height="wrap_content" и android:minHeight="?attr/actionBarSize", есть вероятность того, что ваша высота панели может получить больше при использовании больших иконок.
  • android:minHeight гарантирует, что панель инструментов не будет изменять себе меньше ?attr/actionBarSize значение.

Если вы хотите, чтобы ваша высота панели инструментов, чтобы исправить, просто использовать

android:layout_height="?attr/actionBarSize" 

Другой атрибут не требуется.

1

ОК, когда вы укажете android: layout_height = "wrap_content", тогда ваша панель инструментов может уменьшиться, если в ней нет более детального представления, а затем стандартного размера панели действий.

Но если вы укажете андроида: MinHeight = «атр/actionBarSize», то это не имеет значения, как маленькая точка зрения существует в панели инструментов он будет поддерживать свой стандартный размер ActionBar.

2

В чем разница между этими двумя атрибутами?

android:minHeightОпределяет минимальную высоту представления.
android:layout_heightУказывает основную высоту изображения.

Pseudocode для более четкого.

if(minHeightDefined) { 
    if(currentHeightOfView < minHeight) { 
     currentHeightOfView = minHeight; 
    } else { 
     currentHeightOfView = layout_height; 
    } 
} else { 
    currentHeightOfView = layout_height; 
} 

minHeightDefined - флаг указывают ли android:minHeightобъявлен в XML-файл макета или не

Почему layout_height установлен wrap_content в документации ToolBar?

this is по умолчанию.