xml - ¡Estoy usando match_parent pero la mitad de los elementos están fuera de la pantalla! (LinearLayout)

CorePress2024-01-24  11

Abrí un proyecto antiguo para trabajar en un proyecto universitario. La aplicación funcionaba bien, pero cuando la instalo nuevamente, toda mi pantalla tiene el mismo problema: ¡los elementos se salen de la pantalla! Mostraré una de mis pantallas con su código.

Este es el diseño de Android Studio Este es el diseño del emulador de Android. Esta es mi aplicación en paisaje. Acabo de descubrir esto.

Tengo el mismo problema en mi teléfono. No lo quería en modo horizontal (si eso es lo que pasa).

     <?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"
        android:padding="20dp"
        tools:context=".CustomActivity">
    
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/purple_700"
            android:gravity="center"
            android:text="@string/app_name"
            android:textColor="#fff" />
    
    
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:layout_gravity="center"
            android:orientation="horizontal">
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/digits" />
    
            <Spinner
                android:id="@+id/sDigits"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/sign" />
    
            <Spinner
                android:id="@+id/sSign"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
    
    
    
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:layout_gravity="center"
            android:orientation="horizontal">
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/times" />
    
            <Spinner
                android:id="@+id/sTimes"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/seconds" />
    
            <Spinner
                android:id="@+id/sSeconds"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
        </LinearLayout>
    
        <Button
            android:id="@+id/btnCreate"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="90dp"
            android:text="@string/string_create"/>
    </LinearLayout>


------------------------------------

En su archivo de manifiesto de Android (AndroidManifest.xml), agregue este atributo android: pantallaOrientation="retrato" a tu <actividad>.

Algo como esto:

<activity android:name=".your_activity"
        android:screenOrientation="portrait"
        <!--other activity attributes->
</activity>

1

Eso no funcionó. :( Pero estoy seguro de que ahora no tiene nada que ver con el paisaje/retrato. Gracias

- Ahmed Khaldoon

28/03/2021 a las 14:13



------------------------------------

Estaba usando la vista de contenedor de fragmentos en mi actividad xml principal. Y de alguna manera el ancho es¡777 dp y la altura es 1276 dp! Lo cambié para que coincida con el padre

<androidx.fragment.app.FragmentContainerView
android:id="@+id/fragment2"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="777dp"
android:layout_height="1276dp"
app:defaultNavHost="true"
app:navGraph="@navigation/nav_graph" />

0

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare