Просмотр текста и изображений не отображаются в макете Android studio, когда я использую пользовательскую панель инструментов с заданной темой с помощью библиотеки материалов

#android #xml #kotlin

Вопрос:

Я сделал упражнение для Android, в котором у меня была пользовательская панель инструментов (тема которой была настроена на одну из тем библиотеки материалов) .Однако я сталкиваюсь с серьезными проблемами , так как , когда я пытаюсь добавить изображение и текст в свой макет,я не могу видеть их в своем макете, и при запуске приложения приложение выходит из строя . Может ли кто-нибудь порекомендовать решение этой проблемы?

Вот снимок моего кода вместе с макетом Вот XML-код

 <ScrollView 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"
    android:orientation="vertical"
    tools:context=".AddHappyPlace">
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
        <com.google.android.material.appbar.MaterialToolbar
            android:id="@ id/toolbarAdd"
            android:layout_width="match_parent"
            android:background="@color/newColorPrimaryDark"
            android:theme="@style/CustomNoActionBarTheme"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            android:layout_height="?attr/actionBarSize" />
                <com.google.android.material.textfield.TextInputLayout
                    android:layout_width="match_parent"
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                    android:layout_marginTop="20dp"
                    android:layout_height="wrap_content">
                <com.google.android.material.textfield.TextInputEditText
              android:layout_width="match_parent" android:id="@ id/etTitle"
              android:hint="Title" android:textColorHint="#d3d3d3"
              android:layout_height="wrap_content"/>
                </com.google.android.material.textfield.TextInputLayout>
                <com.google.android.material.textfield.TextInputLayout
                    android:layout_width="match_parent"
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                    android:layout_marginTop="15dp"
                    android:layout_height="wrap_content">
                <com.google.android.material.textfield.TextInputEditText
                    android:layout_width="match_parent"
                    android:id="@ id/etDetails"
                    android:hint="Details"
                    android:textColorHint="#d3d3d3"
                    android:textColor="@color/black"
                    android:layout_height="wrap_content"/>
                </com.google.android.material.textfield.TextInputLayout>
                <com.google.android.material.textfield.TextInputLayout
                    android:layout_width="match_parent"
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                    android:layout_marginTop="20dp"
                    android:layout_height="wrap_content">
                        <com.google.android.material.textfield.TextInputEditText
                            android:layout_width="match_parent" android:id="@ id/etLocation"
                            android:hint="Location" android:textColorHint="#d3d3d3"
                            android:layout_height="wrap_content"/>
                </com.google.android.material.textfield.TextInputLayout>
                <com.google.android.material.textfield.TextInputLayout
                    android:layout_width="match_parent"
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                    android:layout_marginTop="20dp"
                    android:layout_height="wrap_content">

                        <com.google.android.material.textfield.TextInputEditText
                            android:id="@ id/etDate"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:hint="Date"
                            android:textColorHint="#d3d3d3" />
                </com.google.android.material.textfield.TextInputLayout>
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
                <androidx.appcompat.widget.AppCompatImageView
                    android:layout_margin="10dp"
                    android:id="@ id/imgView"
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="250dp"/>
                <TextView
                    android:id="@ id/tvAddImage"
                    android:gravity="center"
                    android:layout_margin="10dp"
                    android:textSize="25sp"
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:text="ADD IMAGE"
                    android:layout_height="250dp"/>
        </LinearLayout>
</ScrollView>
 

Вот что показывает макет
введите описание изображения здесь

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

1. Пожалуйста, добавьте изображение «ожидаемого результата».

Ответ №1:

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

 <ScrollView 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"
android:orientation="vertical"
tools:context=".AddHappyPlace">

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

    <com.google.android.material.appbar.MaterialToolbar
        android:id="@ id/toolbarAdd"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/newColorPrimaryDark"
        android:theme="@style/CustomNoActionBarTheme"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <com.google.android.material.textfield.TextInputLayout
        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@ id/etTitle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Title"
            android:textColorHint="#d3d3d3" />
    </com.google.android.material.textfield.TextInputLayout>

    <com.google.android.material.textfield.TextInputLayout
        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@ id/etDetails"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Details"
            android:textColor="@color/black"
            android:textColorHint="#d3d3d3" />
    </com.google.android.material.textfield.TextInputLayout>

    <com.google.android.material.textfield.TextInputLayout
        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@ id/etLocation"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Location"
            android:textColorHint="#d3d3d3" />
    </com.google.android.material.textfield.TextInputLayout>

    <com.google.android.material.textfield.TextInputLayout
        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@ id/etDate"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Date"
            android:textColorHint="#d3d3d3" />
    </com.google.android.material.textfield.TextInputLayout>

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

        <androidx.appcompat.widget.AppCompatImageView
            android:id="@ id/imgView"
            android:layout_width="0dp"
            android:layout_height="250dp"
            android:layout_margin="10dp"
            android:layout_weight="1" />

        <TextView
            android:id="@ id/tvAddImage"
            android:layout_width="0dp"
            android:layout_height="250dp"
            android:layout_margin="10dp"
            android:layout_weight="1"
            android:gravity="center"
            android:text="ADD IMAGE"
            android:textSize="25sp" />
    </LinearLayout>
</LinearLayout>
</ScrollView>