Основной макет установлен, но отображается только в содержимом wrap

#android #android-layout

#Android #android-layout

Вопрос:

введите описание изображения здесья создаю один родительский макет макета, все они совпадают с родительскими, но по-прежнему отображают только содержимое wrap. Я попробовал все макеты, установленные в соответствии с родительским макетом, но он не отображается во всю ширину, как можно решить проблему такого типа.

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/lightyellow"
android:orientation="vertical">
<include
    android:id="@ id/rightLayout"
    layout="@layout/header" />
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="@dimen/padding_medium"
    android:layout_marginRight="@dimen/padding_medium"
    android:layout_marginTop="@dimen/padding_large"
    android:dividerHeight="@dimen/padding_medium"
    android:orientation="horizontal"
    android:paddingBottom="@dimen/padding_medium"
    android:paddingTop="@dimen/padding_medium">
    <Spinner
        android:id="@ id/spnSelectEventName"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.9"
        android:background="@drawable/spinner_bg" />
    <ImageView
        android:id="@ id/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:background="@drawable/image_bg" />
</LinearLayout>
  

Файл макета заголовка есть.

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/GreenColor"
android:baselineAligned="false"
android:padding="@dimen/padding_medium"
android:orientation="horizontal">
<LinearLayout
    android:id="@ id/btn_header_left"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:clickable="true"
    android:gravity="center"
    android:visibility="gone">
    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/ic_sidemenu"
        android:clickable="false"
        android:duplicateParentState="true" />
</LinearLayout>
<TextView
    android:id="@ id/txt_middle_name"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:layout_marginBottom="@dimen/padding_small"
    android:layout_marginTop="@dimen/padding_small"
    android:gravity="center"
    android:layout_weight="1"
    android:text="Header Name"
    android:textColor="@color/WhiteColor"
    android:textSize="@dimen/TextSize_medium"
    android:textStyle="bold"
    android:visibility="visible" />
<LinearLayout
    android:id="@ id/btn_header_right"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center|right"
    android:clickable="true"
    android:gravity="center"
    android:visibility="gone">
    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/ic_search_home"
        android:clickable="false"
        android:duplicateParentState="true" />
</LinearLayout>
  

Комментарии:

1. можете ли вы поделиться XML-кодом.

2. Покажите свой Xml код.

3. возможно, контейнер макета, но не содержимое…

4. вы устанавливаете вес счетчика, но для ImageView используется значение wrap_content ….. это не сработает. Кроме того, вы установили некоторые значения полей, возможно, слишком большие….

5. Что такое android:id="@ id/rightLayout" ?

Ответ №1:

Внесите изменения в свой Layout , как показано ниже. Удалите ненужное padding и margins из этого Layout . И weight также укажите некоторые ImageView , чтобы он работал правильно.

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/holo_blue_light"
    android:orientation="vertical">

    <include
        android:id="@ id/rightLayout"
        layout="@layout/header" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="5dp"
        android:dividerHeight="5dp"
        android:orientation="horizontal"
        android:weightSum="2">

        <Spinner
            android:id="@ id/spnSelectEventName"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1.5" />

        <ImageView
            android:id="@ id/imageView2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_weight="0.5"
            android:src="@mipmap/ic_launcher" />
    </LinearLayout>
</LinearLayout>
  

Комментарии:

1. Я понимаю, как и сказал, но никакого эффекта, такого же, как и при получении предыдущего результата

2. @MehulTank Он должен отображаться в полноэкранном режиме с заданным фоном, что бы вы ни указали. Он работает с приведенным выше кодом на моей стороне.

3. фон светло-желтый, который показан на изображении без какого-либо заданного белого фона

4. @MehulTank Тогда какой ваш контент должен отображаться в center layout ?

5. я хочу также отображать содержимое в полноэкранном режиме ширина задается родительским, а высота также задается родительским, но не может отображаться в полноэкранном режиме