2016-08-08 2 views
0

Мой макет работает отлично, он имеет родителя Linear Layout и несколько Linear Layouts внутри него.Линейная компоновка внутри рамки Рамка перестает работать

Теперь мне нужно добавить фоновое изображение, так что мне нужно добавить макет кадра здесь.

Когда я меняю родителя Linear Layout на Frame Layout, он исчезает со всех предметов в linear layout.

Если я добавлю Frame Layout, внутри Linear Layout он исчезает со всех элементов в линейной компоновке.

Я не могу понять, как разместить макет рамки без удаления элементов линейной компоновки.

Код макета довольно длинный.

Я кладу над его частью.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    > 


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="6" 
     android:orientation="vertical" 
     > 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="80dp" 
      android:orientation="horizontal" 
      android:layout_marginTop="20dp" 
      android:layout_marginLeft="30dp" 
      android:layout_marginRight="30dp" 
      > 

      <ImageView 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.8" 
       android:src="@drawable/image11" 
       /> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:orientation="vertical" 
       android:paddingTop="10dp" 

       > 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="7:00 PM CST" 
       android:layout_gravity="center" 
       android:gravity="center" 
       android:textColor="@color/white" 
       android:fontFamily="sans-serif-medium" 
       android:textSize="12sp" 
       /> 

     </LinearLayout> 

     <ImageView 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="0.8" 
      android:src="@drawable/icon2" 
      /> 

    </LinearLayout> 





    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="40dp" 
     android:orientation="horizontal" 
     android:paddingLeft="20dp" 
     android:paddingRight="20dp" 
     > 


     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="4" 
      android:orientation="vertical" 
      android:background="@drawable/cart_custom_background" 
      android:paddingBottom="2dp" 
      > 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:layout_weight="4" 
       android:orientation="horizontal" 
       android:layout_marginRight="1dp" 
       android:layout_marginLeft="1dp" 
       > 
+0

Попробуйте относительную компоновку вместо рамочной компоновки – Dnyanesh

+0

Спасибо @Dnyanesh, когда я меняю «родительский макет» на «Относительная компоновка», все элементы исчезают – Kirmani88

+0

Вы уверены, что ваш layout_height/layout_width не равен 0 dp внутри рамки ? –

ответ

1

Теперь мне нужно добавить фоновое изображение, так что мне нужно добавить макет рамки здесь.

Вам не нужно добавлять другой макет, чтобы дать фон. Достаточно вашего корня (или даже любого другого) <LinearLayout>. Вы можете установить фон с помощью:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/my_drawable" > // Can also give color here 

Когда я изменить родительский Linear Layout в кадр компоновки, он исчезает все элементов в линейной компоновке.

То в первую очередь потому, что в отличие от <FrameLayout><LinearLayout> продолжал добавлять все дети друг на друга.

Смежные вопросы