在Android中查找包含视图的窗口

我无法find一个方法来获得一个引用Window包含一个任意的View诉我findgetWindowToken ,但我不知道如何使用它? 有谁知道如何?

另外,有谁知道为什么它返回一个IBinder而不是一个Window

Solutions Collecting From Web of "在Android中查找包含视图的窗口"

那么…因为所有的视图都有创build它们的活动( Context )的引用,所以你可以使用这个Context来获得窗口的引用。 让我来给你看几分钟前我写的这个例子:

 // 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); } } 

然后,在你的视野内,你可以做到这一点:

 // 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); } } 

在这种情况下,我将窗口显示的模式更改为全屏。 希望这对你有所帮助。 告诉我你是否遇到麻烦