studio que programacion para móviles libro edición desarrollo curso aplicaciones android user-interface

que - programacion android pdf 2018



Encuentra la ventana que contiene una vista en Android (1)

No puedo encontrar una forma de obtener una referencia de la Window contiene una View arbitraria v. Encontré getWindowToken , pero no puedo encontrar la forma de usarlo. ¿Alguien sabe cómo?

Además, ¿alguien sabe por qué devuelve un IBinder lugar de una Window ?


Bueno ... ya que todas las vistas tienen una referencia de la actividad que las creó ( Context ), puede usar ese Context para obtener una referencia de la ventana. Déjame mostrarte este ejemplo que escribí hace unos minutos:

// main activity import android.app.Activity; import android.os.Bundle; public class GetWindow extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); MyView view = new MyView(this); view.changeSomethingInWindow(); // keep an eye on this method setContentView(view); } }

Luego, dentro de su vista puede hacer esto:

// your view :D import android.app.Activity; import android.content.Context; import android.view.View; import android.view.Window; import android.view.WindowManager; public class MyView extends View{ public MyView(Context context) { super(context); } public void changeSomethingInWindow(){ // get a reference of the activity Activity parent = (Activity)getContext(); // using the activity, get Window reference Window window = parent.getWindow(); // using the reference of the window, do whatever you want :D window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); } }

En este caso, cambio el modo en que la ventana se muestra a pantalla completa. Espero que esto te ayude Dime si te metes en problemas con esto.