Hay una manera de ocultar el título de la ventana para que esto no se muestra en modo de pantalla completa (

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

) pero, a continuación, aparecerá en la

getWindow().clearFlags(LayoutParams.FLAG_FULLSCREEN)

?

requestWindowFeature(Window.FEATURE_NO_TITLE)

no es una opción, por supuesto, como esto no le permitirá obtener de vuelta.

  • Así que usted está queriendo ser capaz de encender y apagar a voluntad?
  • Sí. Para ser más precisos, quiero mostrar una barra de progreso, pero que es, junto con el título.
InformationsquelleAutor yanchenko | 2009-06-13

6 Comentarios

  1. 57

    La forma en que manejo esta en mi Android juegos es llamar a la línea siguiente en el onCreate() de mi Actividad

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    Puedo, a continuación, gire la pantalla completa capacidad de apagado y encendido mediante el siguiente código en mi clase de actividad (llamado generalmente desde una opción de menú) (el m_contentView variable es el punto de vista de findViewById (), utilizando el identificador que se utiliza cuando se llama a setContentView() en su creación)

    private void updateFullscreenStatus(boolean bUseFullscreen)
    {   
       if(bUseFullscreen)
       {
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
        }
        else
        {
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        }
    
        m_contentView.requestLayout();
    }

    Puedo usar esta técnica en todos mis juegos sin problema.

    ¿Por qué lo dices

    requestWindowFeature(de la Ventana.FEATURE_NO_TITLE);
    no es una opción, por supuesto

    ?

    ::EDIT::

    Bien si usted está tratando de forma dinámica mostrar y ocultar durante el tiempo de vida de la actividad, no estoy seguro si se puede hacer eso con el funcionario de Título de la Ventana debido a la nota que se ha mencionado acerca de las características de la ventana que necesitan ser establecidos antes de setContentView() se llama (enlace)

    Una cosa que usted podría hacer es implementar su propia barra de título y dinámicamente mostrar y ocultar… puse este ejemplo que debe establecer, oh nel camino correcto

    Aquí está el archivo de diseño

    <?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:fadingEdgeLength="0sp"
        >
    
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/myTitleBarLayout" 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content"
            android:orientation="vertical"
            >
    
            <TextView
                android:id="@+id/myTitleBarTextView"
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content"
                android:text="@string/app_name"
                android:paddingTop="4dip"
                android:paddingBottom="4dip"
                android:paddingLeft="6dip"
                android:textStyle="bold"
                android:shadowColor="#BB000000"
                android:shadowRadius="3.0"
                android:shadowDy=".25"
    
            />
    
            <View
                android:layout_width="fill_parent"
                android:layout_height="1dip"
                android:background="#CCEEEEEE"
                android:padding="10dip"
            />
        </LinearLayout>
    
        <ScrollView  xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent" 
            android:layout_height="fill_parent"
            android:layout_weight="1"
            >
    
            <!-- Insert your regular layout stuff here -->
    
            <Button android:id="@+id/toggle_title_button" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:text="Toggle Title" 
            />
        </ScrollView>
    </LinearLayout>

    Y aquí está el código de la actividad principal que permite alternar la barra de título de encendido y apagado

    package com.snctln.test.HelloGridView;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.Window;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.LinearLayout;
    import android.widget.TextView;
    
    public class HelloGridView extends Activity
    {
        public void onCreate(Bundle savedInstanceState)
        {
            requestWindowFeature(Window.FEATURE_NO_TITLE);
    
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
            TextView tv = (TextView)this.findViewById(R.id.myTitleBarTextView);
            tv.setBackgroundColor(0xFF848284);
            tv.setTextColor(0xFFFFFFFF);
    
            Button toggleTitleButton = (Button)this.findViewById(R.id.toggle_title_button);
    
            toggleTitleButton.setOnClickListener( new OnClickListener()
                {
                    @Override
                    public void onClick(View v)
                    {
                        LinearLayout ll = (LinearLayout)findViewById(R.id.myTitleBarLayout);
    
                        if(ll.getVisibility() == View.GONE)
                        {
                            ll.setVisibility(View.VISIBLE);
                        }
                        else
                        {
                            ll.setVisibility(View.GONE);
                        }
                    }
                });
        }
    }

    No parece perfecto, pero siempre se puede jugar con el diseño un poco más para hacerlo.

    Ocultar el Título en modo de pantalla Completa?

    Mi pensamiento es que si se desea ocultar todo para mostrar una barra de progreso ¿por qué no utilizar el ProgressDialog?

    Esta clase es bastante fácil de usar…

    progressDlg = ProgressDialog.show(context, getString(R.string.progress_dialog_title_prepare), getString(R.string.progress_dialog_body_prepare));
    
    //do long running operation
    
    if(operationFailed)
    {
        progressDlg.cancel();
    }
    else
    {
        progressDlg.dismiss();
    }
    • Porque tengo necesidad de cambiar la aplicación de pantalla completa a un ‘normal’ modo con el título en algún momento.
    • Lo siento, no he entendido tu descripción de la m_contentView variable. Lo que yo hice en mi oncreate fue setContentView(R.layout.birdview). Cual sería mi m_contentView? Traté de findViewById(R.layout.birdview).requestLayout() pero tiene una excepción de puntero nulo.
    • A. Florit : Usted debe buscar para android.R.id.content – es la más alta de los padres de la vista de jerarquía (creado en la Actividad llamando a setContentView() método)
  2. 13

    La adición de android:theme="@android:style/Theme.NoTitleBar.Fullscreen" de la aplicación de la etiqueta en el archivo de manifiesto de hacer cada actividad a pantalla completa.

    • Tenga en cuenta que esto también funciona en una actividad individual de manifiesto de la etiqueta.
  3. 11

    Para deshabilitar el título de su aplicación (es el nombre de la aplicación)

    requestWindowFeature(Window.FEATURE_NO_TITLE)

    Para deshabilitar la barra de notificaciones en la parte superior (por lo que una solicitud para la aplicación de android manager para permitir pantalla Completa)

    getWindow().addFlags(LayoutParams.FLAG_FULLSCREEN)

    Espero que esto ayuda a cualquiera que quiera saber la diferencia!!

  4. 10
    if(useFullscreen)  
    {  
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);  
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);  
    }  
    else  
    {  
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);  
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);  
    }  

    esto funcionó para mí .. en el método onResume

    • quién votó? si este código no funciona nunca daría aquí … podrías probar en tu propio .. trabajó en el emulador de 1.6 y 2.2 y en mi Hero 2.1
  5. 3

    En Android 3+ puede ser easilyy logrado llamando getActionBar().hide() y getActionBar().show(), respectivamente, de mostrar y ocultar el estándar ActionBar

    En Android 1,2 la mejor solución (supongo) es implementar Vista personalizada de yout «barra de título» y ocultarla en la demanda (por supuesto, llamar a requestWindowFeature(Window.FEATURE_NO_TITLE); al principio).

    • El getActionBar().hide() funcionó a la perfección.
  6. 1

    que no es posible de acuerdo a los documentos y el android-desarrolladores grupo de google. para implementar eso , usted necesita agregar un «título-bar-como» el diseño del elemento con el texto y la barra de progreso y ocultar/mostrar cuando usted lo necesita. ahora – no hay otra manera alrededor de ella, desde el título de la barra de control sólo puede ser hecho antes de que el setContentView llamada y no se cambió después.

Dejar respuesta

Please enter your comment!
Please enter your name here