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
依次包装到其他元素中,以允许屏幕装饰,如工具栏
等
这是相当基本的安卓系统的东西,没有什么是以前没有人问过的。我建议多读一点书(有很多现成的资源)并在提问前进行搜索