Изменение размера Progressbar в DrawerLayout - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь отобразить индикатор выполнения, пока не появится мое основное действие.Я смог добавить индикатор выполнения, и он работает хорошо.Однако я не смог изменить размер Progressbar.Пожалуйста, обратитесь к коду и экрану ниже.

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 
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:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">

  <ProgressBar
    android:id="@+id/sync_progress"
    style="?android:attr/progressBarStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:maxHeight="55dp"
    android:maxWidth="55dp"
    android:minHeight="15dp"
    android:minWidth="15dp"
    android:visibility="visible" />

   <include
    layout="@layout/app_bar_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

   <android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>

Вот как это отображается:

enter image description here

Я хочу сделать его меньше ипо центру.Любая помощь или идея будут высоко оценены.

Ответы [ 2 ]

0 голосов
/ 04 июня 2019

Вы должны поместить его (ProgressBar) в RelativeLayout, и тогда вы сможете установить размер в ProgressBar.

Это будет выглядеть так:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 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:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:openDrawer="start">

    <RelativeLayout
        android:id="@+id/progressBar_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ProgressBar
            android:id="@+id/sync_progress"
            style="?android:attr/progressBarStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:visibility="visible" />
    </RelativeLayout>

    <include
        layout="@layout/app_bar_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header_main"
        app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>

Имейте в видучто этот родительский вид (DrawerLayout) устанавливает свои представления в иерархии, поэтому самый низкий вид в xml будет находиться в иерархии верхнего вида (в Z-порядке) для пользователя.Это может привести к тому, что элементы ящика не будут вызываться.Просто поместите его над навигационным представлением в xml.

0 голосов
/ 07 июня 2018

Попробуйте, чтобы удовлетворить ваши требования.

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 
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:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
   <Linerlayout
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical"
     android:gravity="center">
  <ProgressBar
    android:id="@+id/sync_progress"
    style="?android:attr/progressBarStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:maxHeight="55dp"
    android:maxWidth="55dp"
    android:minHeight="15dp"
    android:minWidth="15dp"
    android:visibility="visible" />

   <include
    layout="@layout/app_bar_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
</Linerlayout>
   <android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>
...