линейные и относительные схемы - PullRequest
1 голос
/ 20 июня 2020
      <?xml version="1.0" encoding="utf-8"?>
      <LinearLayout
      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=".MainActivity"
      android:orientation="vertical"  >

      <ImageView
      android:layout_width="match_parent"
      android:layout_height="200dp"
      android:src="@drawable/androidparty" />

     <RelativeLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent" />

       <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="DEALS IN:-"
       android:padding="10dp"/>

      </LinearLayout>
     
      </RelativeLayout>

      

в относительном макете, когда я устанавливаю высоту и вес как match_parent, мой текст скользит в нижнюю часть панели дизайна и не отображается, почему это происходит?

Ответы [ 2 ]

2 голосов
/ 20 июня 2020

Вы должны указать, как вид позиционируется внутри RelativeLayout.
Вы можете проверить do c:

Положение каждого вида могут быть указаны относительно одноуровневых элементов (например, слева от другого вида или под ним) или в положениях относительно родительской области RelativeLayout (например, выровнены по нижнему, левому или центру).

Например, используйте android:layout_alignParentTop="true":

<RelativeLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent">

       <TextView
         android:layout_alignParentTop="true"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="DEALS IN:-"
         android:padding="10dp"/>    

</RelativeLayout>

Также в вашем макете есть еще одна проблема:

<LinearLayout
   android:orientation="vertical">

   <RelativeLayout
      android:layout_height="match_parent"/>

   <TextView/>

</LinearLayout>

RelativeLayout имеет android:layout_height="match_parent" и таким образом он заполняет родительский вид, а TextView находится за пределами RelativeLayout.

enter image description here

0 голосов
/ 20 июня 2020

Думаю, проблема здесь в ошибках с тегами.

Это должно помочь:

<?xml version="1.0" encoding="utf-8"?><?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:src="@drawable/androidparty" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:text="DEALS IN:-" />
    </RelativeLayout>
</LinearLayout>

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

...