Панель инструментов отрезана строкой состояния - PullRequest
0 голосов
/ 19 мая 2019
Ограничение

My Toolbar's top ограничено значением parent. Однако система не приняла во внимание строку состояния, и поэтому Toolbar отключается:

enter image description here

Я видел другие ответы, которые предлагают добавить android:fitsSystemWindows="true" к корневому представлению, поэтому я сделал это. Однако это ничего не изменило.

activity_home.xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Home"
android:fitsSystemWindows="true">

<androidx.appcompat.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorToolbar"
    android:elevation="10dp"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintBottom_toTopOf="@id/viewpager">

</androidx.appcompat.widget.Toolbar>

...

и сопровождающих его HomeActivity.kt

class Home : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_home)
        setSupportActionBar(toolbar)
        toolbar.inflateMenu(R.menu.menu_home)
    }

    override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        val inflater: MenuInflater = menuInflater
        inflater.inflate(R.menu.menu_home, menu)
        return true
    }

Есть идеи, как это исправить?

1 Ответ

0 голосов
/ 19 мая 2019
  • попробуйте также использовать android:fitsSystemWindows="true" на панели инструментов.

Из документации по андроиду и дизайну материалов высота строки состояния составляет 24 dp в каждой конфигурации экрана.

  • , поэтому, если вы не можете найти другое решение, вы можете просто использовать:

            android:paddingTop="24dp"
    

    внутри панели инструментов.(или поле вместо этого, если необходимо)

  • еще одна вещь может привести к тому, что при использовании макета ограничения:

    вы создаете панель инструментов над пейджером представления, а не видПейджер под панелью инструментов, попробуйте изменить app:layout_constraintBottom_toTopOf="@id/viewpager" с панели инструментов, чтобы просмотреть пейджер как app:layout_constraintTop_toBottomOf="@id/toolbar"

Не могли бы вы опубликовать полный XML-файл и тему приложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...