Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


VideoView no se procesa correctamente después de desaparecer el teclado de Dialog

He simplificado mi problema al menor ejemplo cuando se puede reproducir.

Asi que:

  • La consola de Eclipse muestra: 'Error al pulsar la selección: sistema de archivos de sólo lectura' cuando intento empujar un archivo
  • ¿Cómo obtener un evento táctil continuo?
  • Android: icono de la aplicación para depurar y liberar el modo
  • Oclusión en Tango AR Cámara
  • ¿Cuándo usar un Servicio o AsyncTask o Handler?
  • ¿Cómo ver la pila de actividades en depuración?
    • 1 con VideoView y ImageView.
    • Después de hacer clic en ImageView AlertDialog se muestra.
    • AlertDialog tiene 1 campo EditText.
    • Toco este EditText y se muestra el teclado estándar de Android.
    • Cierre el teclado.
    • Cerrar diálogo.

    Problema: los bordes de VideoView (rectángulo negro) se extendieron y por lo tanto ImageView no se muestra más.

    Cualquier ayuda es apreciada! Gracias.

    ANTES DEDESPUÉS

    Código:

    MainActivity.java

    import android.app.Activity; import android.app.AlertDialog; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.VideoView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Activity act = this; final VideoView videoView = (VideoView) findViewById(R.id.videoView1); videoView.setVideoPath("/mnt/sdcard/s1ep01.mp4"); videoView.requestFocus(); findViewById(R.id.imageView1).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { AlertDialog.Builder builder = new AlertDialog.Builder(act); View view = LayoutInflater.from(act).inflate(R.layout.dialog, null); builder.setView(view); builder.setPositiveButton("Save translation", null); builder.setNegativeButton("Cancel", null); AlertDialog dialog = builder.create(); dialog.show(); } }); } } 

    Activity_main.xml

     <RelativeLayout 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" tools:context=".MainActivity" > <VideoView android:id="@+id/videoView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerInParent="true" /> <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/videoView1" android:src="@android:drawable/btn_dialog" /> </RelativeLayout> 

    Dialog.xml

     <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" /> </RelativeLayout> 

  • ¿Los procesos de VM de Dalvik liberan la RAM del sistema?
  • 9 patch image prevent construir proyecto android studio
  • ¿No es sensible a mayúsculas y minúsculas los archivos de Android File.exists ()?
  • MapView (mapas de android api v2) dentro de la distribución de fragmentos no muestra
  • Tamaño del cuadro de diálogo personalizado para coincidir con Theme.Holo.Light.Dialog
  • Android - EditTexts dentro de ListView vinculado a Custom ArrayAdapter - manteniendo un registro de los cambios
  • One Solution collect form web for “VideoView no se procesa correctamente después de desaparecer el teclado de Dialog”

    Como una solución temporal, he creado un Runnable que hace que el VideoView Invisible, a continuación, lo hace Visible después de 200 mili segundos:

     // Hide the VideoView videoLayout.setVisibility(View.INVISIBLE); // create a handler to handle the delayed runnable request new Handler().postDelayed(new Runnable() { @Override public void run() { // After the 200 millis (which are passes as a second parameter to this postDelayed() method in the last line of the code, this handler will invoke the following method : // run on UI so you can set the Visibitity of the UI elements runOnUiThread(new Runnable() { @Override public void run() {videoLayout.setVisibility(View.VISIBLE);} // make it visible again }); } }, 200); // this is the second parameter which decides when this handler will run it's run() method 

    Espero que esta solución temporal ayuda por ahora

    Llame a este método cuando su teclado se oculta, al igual que en la tecla ENTER, o cuando toque una determinada vista fuera del teclado para ocultarlo … pero no lo ponga en el onTouchEvent () de la actividad o en el onUserInteraction para no mantener brillante

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.