2016-02-19 3 views
0

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

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/breakfast_view"> 
<android.support.v7.widget.CardView 
    xmlns:card_view="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/breakfast_card" 
    android:layout_width="match_parent" 
    android:layout_height="100dp"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:padding="16dp"> 

     <TextView 
      android:id="@+id/info_heading" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:textSize="20dp" 
      android:text="Breakfast" 
      android:paddingBottom="5dp"/> 
    </RelativeLayout> 


</android.support.v7.widget.CardView> 

</RelativeLayout> 

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/breakfast_view"> 

<android.support.v7.widget.CardView 
    xmlns:card_view="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/overview" 
    android:layout_width="match_parent" 
    android:layout_height="100dp" 
    android:layout_margin="10dp" 
    card_view:cardCornerRadius="1dp"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:padding="16dp"> 

     <View 
      android:id="@+id/info_spliter" 
      android:layout_width="fill_parent" 
      android:layout_height="1dp" 
      android:background="#E0E0E0" 
      android:layout_below="@+id/info_tester"/> 


    </RelativeLayout> 


</android.support.v7.widget.CardView> 
</RelativeLayout> 
+0

don't точно знать, если это решение, но если вы ссылаетесь на вид внутри макета XML, использование don't «@ + идентификатор». Ваш второй держатель карты (RelativeLayout) должен иметь атрибут «@ id/breakfast_view» без знака + – Opiatefuchs

+0

. Вы использовали 'layout_below =" @ + id/breakfast_view "', когда вы должны использовать 'layout_below =" @ + id/breakfast_card " 'в обертке вашей второй карточки' RelativeLayout'? –

ответ

0

Идентификатор info_tester вы ссылаетесь на layout_below из info_splitter не определен. Даже если он был определен, вы можете ссылаться только на одного брата в том же элементе RelativeLayout. То есть ваши элементы CardView или любой другой элемент, который вы хотите относительно позиционировать, должны находиться в одном и том же элементе RelativeLayout, чтобы вы могли расположить их относительно друг друга, используя layout_below.

0

Как вы сказали, вы используете макет фрейма, в котором проблема лежит , поскольку каждый корневой элемент в макете кадра рассматривается как отдельный кадр, поэтому попробуйте использовать относительный макет как родительский, например, следующий или использовать один ребенок в расположении кадра, а затем добавить свои взгляды на ребенка

<RelativeLayout 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" 
    tools:context=".AudioPlayerFragment"> 

    <!-- TODO: Update blank fragment layout --> 
    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/breakfast_view"> 
     <android.support.v7.widget.CardView 
      xmlns:card_view="http://schemas.android.com/apk/res-auto" 
      android:id="@+id/breakfast_card" 
      android:layout_width="match_parent" 
      android:layout_height="100dp"> 

      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:padding="16dp"> 

       <TextView 
        android:id="@+id/info_heading" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:textSize="20dp" 
        android:text="Breakfast" 
        android:paddingBottom="5dp"/> 
      </RelativeLayout> 


     </android.support.v7.widget.CardView> 

    </RelativeLayout> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/breakfast_view"> 

     <android.support.v7.widget.CardView 
      xmlns:card_view="http://schemas.android.com/apk/res-auto" 
      android:id="@+id/overview" 
      android:layout_width="match_parent" 
      android:layout_height="100dp" 
      android:layout_margin="10dp" 
      card_view:cardCornerRadius="1dp"> 

      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:padding="16dp"> 

       <View 
        android:id="@+id/info_spliter" 
        android:layout_width="fill_parent" 
        android:layout_height="1dp" 
        android:background="#E0E0E0" /> 


      </RelativeLayout> 


     </android.support.v7.widget.CardView> 
    </RelativeLayout> 
</RelativeLayout> 
Смежные вопросы