Android: SlidingDrawer desaparece bajo SurfaceView
Estoy intentando crear un SlidingDrawer con el contenido de LinearLayout sobre un FrameLayout.
Al principio todo parece bien, tengo la manija de SlidingDrawer en la parte inferior de la pantalla. Pero entonces, si empiezo a arrastrar el mango hacia arriba y el contenido comienza a mostrar, se acorta por el rectángulo de borde del identificador. Si arrastre el controlador hasta el final todo el contenido eventualmente se muestra, sin embargo, si ahora arrastre el controlador hacia abajo, se recortará por el rectángulo de borde del contenido. Además, si el mango es todo el camino, tan pronto como empezar a arrastrar todo el contenido desaparece.
Todavía puedo hacer clic en el lugar donde el identificador debe estar en la pantalla, arrastrarlo y mostrar el contenido, pero tengo que adivinar dónde está el identificador.
- Porcentaje abierto de SlidingDrawer en Android
- LinearLayout @ 422725b0 no es un cajón deslizante
- Color de fondo del cajón deslizante
- La vista de desplazamiento no se desplaza dentro del cajón deslizante
- Android Drawer Layout no puede encontrar R.layout.drawer_list
Lo que parece estar causando esto es el hecho de que tengo un SurfaceView en el archivo xml justo antes de SlidingDrawer.
Quitar la vista del xml soluciona este problema, sin embargo necesito esta vista.
Aquí está el xml:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <!-- Removing this DrawView from here solves the problem --> <com.package.DrawView android:id="@+id/main" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <SlidingDrawer android:id="@+id/SlidingDrawer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:allowSingleTap="true" android:animateOnClick="true" android:handle="@+id/slideHandleButton" android:content="@+id/contentLayout" android:padding="10dip"> <Button android:id="@+id/slideHandleButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/sliding_button"> </Button> <LinearLayout android:id="@+id/contentLayout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <Button android:id="@+id/clearButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Test"> </Button> </LinearLayout> </SlidingDrawer> </FrameLayout>
Java:
package com.package; import android.app.Activity; import android.os.Bundle; public class SlideTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } package com.package; import android.content.Context; import android.util.AttributeSet; import android.view.SurfaceView; public class DrawView extends SurfaceView { public DrawView(Context context, AttributeSet attrs) { super(context, attrs); } }
Edit: Acabo de notar que si DrawView amplía Vista y no SurfaceView este problema desaparece. Sin embargo, estoy usando un hilo de dibujo dedicado y de acuerdo con la documentación (y ejemplo de LunarLander) cuando se utiliza un hilo de dibujo dedicado, debe dibujar a un SurfaceView.
Cualquier ayuda sería muy apreciada!
- Cambiar la forma en que SlidingDrawer responde al trackball o al cursor
- Android ¿Es posible tener múltiples SlidingDrawer
- El cajón de navegación no funciona cuando startActivity se utiliza en el primer caso de selectItem
- ¿El mismo SlidingDrawer en todas las actividades?
- El cajón corredizo parece semicircular
- Android SlidingDrawer no deshabilita los botones 'debajo' del cajón
- ¿Cómo se puede animar un SlidingDrawer?
- Reducción de la velocidad del cajón deslizante
Android: background = "# 00000000"
El color de fondo era el problema.
SurfaceView funciona cortando un "agujero" a través de la ventana para mostrar otra superficie (la que usted dibuja). Esto es lo que está haciendo que el cajón de SlidingDrawer sea recortado. Siento decir que no podrá utilizar ambos puntos de vista juntos.
- Ordenar una matriz de nombres de archivo que contienen cadenas con números
- Barra de Acción Contextual en Honeycomb