1

我知道这种类型的问题已经在这里讨论过很多次了。但在我的情况下,他们都没有为我工作。我在使用导航抽屉的项目中使用了AndroidSlidingUpPanel。问题是滑动面板布局总是显示在导航抽屉上,但我想要的是反向。这里是目前的状况Android显示了另一个布局元素

enter image description here

正如你可以看到我无法看到导航抽屉里的物品。滑动面板布局隐藏了导航抽屉。

这里是我的代码

<?xml version="1.0" encoding="utf-8"?> 

<com.sothree.slidinguppanel.SlidingUpPanelLayout xmlns:sothree="http://schemas.android.com/apk/res-auto" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/sliding_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="bottom" 
    sothree:umanoDragView="@+id/dragView" 
    sothree:umanoOverlay="false" 
    sothree:umanoPanelHeight="68dp" 
    sothree:umanoParalaxOffset="100dp" 
    sothree:umanoShadowHeight="4dp"> 


    <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/drawerMainActivity" 
     android:layout_width="match_parent" 
     android:layout_alignParentBottom="true" 
     android:layout_height="match_parent"> 



     <FrameLayout 
      android:orientation="vertical" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/containerView"> 

      <android.support.v7.widget.Toolbar 
       xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:minHeight="?android:attr/actionBarSize" 
       android:background="?attr/colorPrimary" 
       android:id="@+id/toolBar" 
       android:fitsSystemWindows="true" 
       android:theme="@style/ThemeOverlay.AppCompat.Dark" 
       /> 

     </FrameLayout> 


     <android.support.v7.widget.RecyclerView 
      android:layout_width="240dp" 
      android:layout_height="match_parent" 
      android:id="@+id/recyclerView" 
      android:scrollbars="vertical" 
      android:background="#FFFFFF" 
      android:layout_gravity="left" 
      /> 

    </android.support.v4.widget.DrawerLayout> 


    <!-- SLIDING LAYOUT --> 
    <LinearLayout 
     android:id="@+id/dragView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#ffffff" 
     android:clickable="true" 
     android:focusable="false" 

     android:orientation="vertical"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 

      <TextView 
       android:id="@+id/name" 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_weight="1" 
       android:textColor="@android:color/holo_green_dark" 
       android:gravity="center_vertical" 
       android:paddingLeft="10dp" 
       android:text="@string/slide" 
       android:textSize="14sp" /> 

      <Button 
       android:id="@+id/btn_hide" 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" 
       android:gravity="center_vertical|right" 
       android:paddingLeft="10dp" 
       android:paddingRight="10dp" 
       android:text="@string/hide" 
       android:textSize="14sp" /> 

     </LinearLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="#FFCCCC"> 

      <ImageView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_margin="10dp" 
       android:layout_weight="1" 
       android:scaleType="centerCrop" 
       android:src="@drawable/image" /> 
     </LinearLayout> 
    </LinearLayout> 


</com.sothree.slidinguppanel.SlidingUpPanelLayout> 

我怎样才能解决这个问题?所以导航抽屉总是在滑动面板布局的顶部。

+0

你有你尝试设置'DrawerLayout'作为根元素? – PPartisan

+0

@PPartisan谢谢,它现在正在工作。 – aroSuv

+0

@PPartisan你可以发表你的评论作为答案吗? – aroSuv

回答

1

设置你的DrawerLayout作为根元素,而不是你的SlidingUpPanelLayout

1

要设置Z轴,您必须订购树。从文档

View.html#Drawing

树主要是记录,为了绘制,以绘制 之前(即后面)他们的孩子的父母,与他们在树中出现的顺序 拉兄弟姐妹。如果你为一个View设置了一个可绘制背景, ,那么在回调它的onDraw()方法之前,View将绘制它。 可以使用自定义儿童绘图 在ViewGroup中订购,并使用在 Views上设置的setZ(float)自定义Z值}覆盖子绘图订单。

因此,基本上将Drawerlayout设置为最后一个。

相关问题