2011-08-02 8 views
7

En mi manifiesta he especificado (para toda una aplicación) Estilo:getDrawingCache mientras que el estilo NoTitleBar establecido para la aplicación en Android

android:theme="@android:style/Theme.NoTitleBar" 

Luego, en mi aplicación que desea crear una captura de pantalla de la aplicación usando caché dibujo:

View activityView = getActivity().getWindow().getDecorView().findViewById(android.R.id.content); 
    activityView.setDrawingCacheEnabled(true); 
    Bitmap currentScreen = Bitmap.createBitmap(activityView.getDrawingCache()); 
    activityView.setDrawingCacheEnabled(false); 

El problema es que en la captura de pantalla hay un espacio en la parte superior (tamaño de la barra de título). Obtengo la captura de pantalla correcta si la barra de título está activada o si la aplicación está en modo de pantalla completa. Traté de usar buildDrawingCache (verdadero), pero no hizo ninguna diferencia. ¿Alguna idea de cómo puedo obtener una captura de pantalla "real" en el modo noTitleBar?

Respuesta

0

Trate de encendido/apagado de su barra de título si se puede

/** set title bar to ON */ 
activityView.setDrawingCacheEnabled(true); 
Bitmap currentScreen = Bitmap.createBitmap(activityView.getDrawingCache()); 
activityView.setDrawingCacheEnabled(false); 
/** set title bar to OFF */ 

EDIT:

No he probado y no estoy seguro de si la voluntad de ir a trabajar, pero has necesitado hacer una captura de pantalla de su diseño principal (primero en xml) al hacer referencia a findViewById? ¿Todavía tienes problemas con la barra de título?

+0

Es una buena idea para una solución, pero activar/desactivar la barra de título es problemático (detalles en [esta publicación SO] (http://stackoverflow.com/questions/991764/hiding-title-in-a-fullscreen -modo)). Con fragmentos que ni siquiera pueden ser posibles. No obstante, ¡gracias por tu aporte! – zilinx

Cuestiones relacionadas