Android 加载栏盖视图

Android 加载栏盖视图,android,android-layout,Android,Android Layout,你好,我正在尝试将这个库应用到我的应用程序中,我希望它位于该布局的顶部,有人能告诉我它是如何完成的吗?我试图添加它,但它要么覆盖了整个屏幕,要么会完全占据版面的一部分 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas

你好,我正在尝试将这个库应用到我的应用程序中,我希望它位于该布局的顶部,有人能告诉我它是如何完成的吗?我试图添加它,但它要么覆盖了整个屏幕,要么会完全占据版面的一部分

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:background="@color/postBg"
              android:orientation="vertical"
              tools:ignore="ContentDescription">

    <include
        android:id="@+id/app_bar"
        layout="@layout/app_bar"/>

    <LinearLayout
        android:id="@+id/newStatusHeader"
        style="@style/newStatusHeader"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="5dp">

        <ImageView
            android:id="@+id/postOwnerImage"
            android:layout_width="60dp"
            android:layout_height="60dp"/>

        <LinearLayout
            android:id="@+id/headerInfoContainer"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="1"
            android:orientation="vertical"
            android:padding="@dimen/postsItemMargin">

            <TextView
                android:id="@+id/postOwnerName"
                style="@style/postOwnerName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"/>

            <TextView
                android:id="@+id/postPrivacy"
                style="@style/postPublishDate"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/publicPrivacy"/>
        </LinearLayout>
    </LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="#E9E9E9"/>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <com.github.jlmd.animatedcircleloadingview.AnimatedCircleLoadingView
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:id="@+id/circle_loading_view"
            android:layout_width="250dp"
            android:layout_height="250dp"
            android:layout_centerInParent="true"
            app:mainColor="@color/primaryColor"
            app:secondaryColor="@color/primary_high_light"
            />

    <LinearLayout
        android:id="@+id/newStatusBody"
        style="@style/newStatusBody"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_below="@id/circle_loading_view"
        android:layout_weight="1"
        android:background="@color/white"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/imagePreview"
            android:layout_width="match_parent"
            android:layout_height="170dp"
            android:scaleType="centerCrop"
            android:visibility="gone"/>



        <EditText
            android:id="@+id/statusEdittext"
            style="@style/statusEditText"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center_vertical"
            android:gravity="top|left"
            android:hint="@string/urStatus"
            android:inputType="textMultiLine"
            android:padding="5dp" />

    </LinearLayout>
    </RelativeLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white"
        android:orientation="vertical">

        <LinearLayout

            android:id="@+id/placePreviewLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:visibility="gone">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp"
                android:src="@drawable/ic_place_black"/>

            <TextView
                android:id="@+id/placeValuePreview"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:text="Rue Ibn ElArabi, Agadir 80000, Morocco"
                android:textColor="@color/primary_high_light"/>

            <TextView
                android:id="@+id/removePlace"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:padding="4dp"
                android:textStyle="bold"
                android:textColor="@android:color/holo_red_light"
                android:text="X"/>
        </LinearLayout>

        <LinearLayout
            android:id="@+id/urlPreviewLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:visibility="gone"
            >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp"
                android:src="@drawable/ic_insert_link_black"/>

            <TextView
                android:id="@+id/urlValuePreview"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:text="https://www.atouchlab.com"
                android:textColor="@color/primary_high_light"/>
            <TextView
                android:id="@+id/removeLink"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:padding="4dp"
                android:textStyle="bold"
                android:textColor="@android:color/holo_red_light"
                android:text="X"/>
        </LinearLayout>
    </LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="#E9E9E9"/>

    <LinearLayout
        android:id="@+id/newStatusFooter"
        style="@style/newStatusFooter"
        android:layout_width="match_parent"
        android:layout_height="65dp">

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="65dp"
            android:layout_weight="1">

            <ImageButton
                android:id="@+id/addPhoto"
                style="@style/actionAreaBtns"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/bg_camera_button"
                android:layout_gravity="center" />

            <ImageButton
                android:id="@+id/addPlace"
                style="@style/actionAreaBtns"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/bg_place_button"
                android:layout_gravity="center" />

            <ImageButton
                android:id="@+id/addLink"
                style="@style/actionAreaBtns"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/bg_insert_link_button"
                android:layout_gravity="center" />

            <ImageButton
                android:id="@+id/changePrivacy"
                style="@style/actionAreaBtns"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/bg_privacy_button"
                android:layout_gravity="center" />
        </LinearLayout>

        <ImageButton
            android:id="@+id/sendStatus"
            style="@style/actionAreaBtns"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/bg_publish_button"
            android:layout_gravity="center" />
    </LinearLayout>


</LinearLayout>

lib.xml

<com.github.jlmd.animatedcircleloadingview.AnimatedCircleLoadingView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/circle_loading_view"
android:layout_width="250dp"
android:layout_height="250dp"
android:background="@color/background"
android:layout_centerInParent="true"
app:mainColor="@color/main_color"
app:secondaryColor="@color/secondary_color"
/>

它要么覆盖了整个屏幕,要么完全占据了版面的一部分

这是因为布局中主内容的根视图是垂直的,它将所有子内容排列在一个方向上,一个接一个地堆叠

如果您希望加载指示器浮动在所有其他布局元素的顶部(即,在屏幕的中心),则需要类似or的东西。这应该成为所有可能需要重叠的元素的根

我不会复制粘贴您的整个布局,因此请想象一个简化版本,其中包含您的内容和加载指示器。要使用
FrameLayout
将后者置于前者之上,如下所示:

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    < main content root />

    < loading indicator on top of main content />

</FrameLayout>

<主要内容顶部的加载指示器/>
当然,您可以将
FrameLayout
依次包装到其他元素中,以允许屏幕装饰,如
工具栏

这是相当基本的安卓系统的东西,没有什么是以前没有人问过的。我建议多读一点书(有很多现成的资源)并在提问前进行搜索