Ya he probado todas las cosas que pude encontrar (en stackoverflow y la red), pero de alguna manera no se puede establecer mi diálogo a pantalla completa. Tiene un scrollview con un textview en ella, y cuando no hay mucho texto en el textview el scrollview no es completa. ¿Cómo puedo obligar a pantalla completa, incluso cuando no hay mucho texto visible ?

Puedo crear el cuadro de diálogo como este:

    final   TextView    box;
    final   Dialog      info    = new Dialog(cx);
    final   ScrollView  scroll;

    info.setContentView(R.layout.dialoginfo);
    info.setTitle("Info");
    info.setCancelable(true);
    info.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN, LayoutParams.FLAG_FULLSCREEN);

    scroll = ((ScrollView) info.findViewById(R.id.scrollviewinfo));
    scroll.setPersistentDrawingCache(ScrollView.PERSISTENT_NO_CACHE);
    scroll.setScrollbarFadingEnabled(false);
    box = (TextView) info.findViewById(R.id.infotext);
    box.setText(text);
    info.show();

Este es el xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:id="@+id/infolayout"
>

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/ImageView01"
        android:layout_weight="1.0"
        android:id="@+id/scrollviewinfo">

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:id="@+id/infolayout2">

            <TextView   android:layout_margin="5dip" android:layout_width="fill_parent" android:layout_height="wrap_content"
                android:id="@+id/infotext"
                android:textSize="8sp" 
                android:text=""/>

        </LinearLayout>

    </ScrollView>


</LinearLayout>
InformationsquelleAutor HardCoder | 2012-05-01

3 Comentarios

  1. 6

    Parece que el ScrollView tiene su altura establecida para wrap_content, yo primero trate de sustituir con fill_parent.

    Aquí están algunos otros recursos que pueden ayudarle a:

    ¿Cómo puedo obtener un cuadro de Diálogo estilo de la ventana de actividad para llenar la pantalla?

    Nunca he usado la setFlags() método, por lo que este puede dar los mismos resultados. Básicamente se trata de reemplazar

    info.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN, LayoutParams.FLAG_FULLSCREEN);

    con

    info.getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);

    Alternativamente, si usted quería más control exacto sobre la altura, se puede crear una instancia de diseño de parámetros, como la primera respuesta que aquí se describe:

    Cómo hacer un cuadro de diálogo alerta de llenar el 90% del tamaño de la pantalla?

    También puede utilizar este código para obtener el tamaño de la pantalla, si desea modificarlo para que sea ligeramente más pequeño que la pantalla completa.

    Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
    int width = display.getWidth();
    int height = display.getHeight();

    Hay muy pocas otras maneras de conseguir el actual tamaño de la pantalla, demasiado, este es sólo un ejemplo. Buena suerte!

    • La «info.getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);» lo hice, muchas gracias :-).
  2. 0

    Han tratado de establecer layout_height de la ScrollView a «match_parent» (y puede establecer el LinearLayout para «match_parent» también, aunque yo no creo que sea necesario)?. Supongo que se encoge cuando no hay mucho texto porque está ajustado a «wrap_content». Intente esto:

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/ImageView01"
        android:layout_weight="1.0"
        android:id="@+id/scrollviewinfo">          
    
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"             
            android:layout_height="match_parent"
            android:orientation="vertical"             
            android:id="@+id/infolayout2"> 
        ...
        </LinearLayout>
    </ScrollView>
    • Ya lo intenté y no funcionó. Todo el diálogo es demasiado pequeño en anchura y altura, ya lo he intentado varias combinaciones de «fill_parent» y «match_parent». Hay tal vez algo que no sé ? Algo extra que necesita para configurar o cuidado ?

Dejar respuesta

Please enter your comment!
Please enter your name here