在android中自定义xml布局

问题描述 投票:0回答:1

我正在尝试将搜索栏置于标签上方,但它显示在其后面enter image description here

这是我的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    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="com.cloud.services.drmzr.MainActivity">


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.cloud.services.drmzr.MainActivity"
        android:layout_above="@+id/topBar">
        <include layout="@layout/user_search"/>
    </RelativeLayout>

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

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:id="@+id/topBar">

            <android.support.design.widget.AppBarLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <android.support.design.widget.TabLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:id="@+id/tabs"
                    android:background="@drawable/white_grey_border_bottom">


                </android.support.design.widget.TabLayout>

            </android.support.design.widget.AppBarLayout>

        </RelativeLayout>




        <RelativeLayout
            android:layout_below="@+id/topBar"
            android:layout_above="@+id/bottomBar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            >

            <android.support.v4.view.ViewPager
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/container"
                app:layout_behavior="@string/appbar_scrolling_view_behavior">

            </android.support.v4.view.ViewPager>

        </RelativeLayout>





        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="120px"
            android:id="@+id/bottomBar"
            android:layout_alignParentBottom="true">

            <android.support.design.widget.BottomNavigationView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/bottomNavView_Bar"
                android:background="@drawable/white_grey_border_top"
                app:menu="@menu/bottom_navigation_menu">


            </android.support.design.widget.BottomNavigationView>
        </RelativeLayout>



    </RelativeLayout>


</android.support.design.widget.CoordinatorLayout>


  [1]: https://i.stack.imgur.com/7npW

g.png

...................................................... ................................................... ................................................... ................................................... ................................................... ................................................... ................................................... .....................................

android xml android-studio android-layout uinavigationbar
1个回答
0
投票

老实说,这不是最佳布局。测量彼此包裹的所有相对布局非常昂贵。因为您在相对女巫中创建的视图与框架布局非常相似,所以元素之间会彼此相邻。我认为在ConstraintLayout中有更好的方法。但是,如果要相对地做到这一点,就可以这样做。

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
>

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

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:id="@+id/appBarLayout"
        >

        <android.support.design.widget.TabLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/tabs"
            android:background="@drawable/white_grey_border_bottom">
        </android.support.design.widget.TabLayout>

    </android.support.design.widget.AppBarLayout>
    <include layout="@layout/user_search"
        android:id="@+id/user_search"
        android:layout_below="@+id/appBarLayout"
        android:layout_height="20dp"
        android:layout_width="match_parent"
        />
    <android.support.v4.view.ViewPager
        android:layout_below="@+id/user_search"
        android:layout_above="@+id/bottomNavView_Bar"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:id="@+id/container"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

    </android.support.v4.view.ViewPager>
    <android.support.design.widget.BottomNavigationView
        android:layout_width="match_parent"
        android:layout_height="120px"
        android:id="@+id/bottomNavView_Bar"
        android:background="@drawable/white_grey_border_top"
        app:menu="@menu/bottom_navigation_menu"
        android:layout_alignParentBottom="true">
    </android.support.design.widget.BottomNavigationView>

</RelativeLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
© www.soinside.com 2019 - 2024. All rights reserved.