Window类参考:点击查看英文api
1.回调
| interface | 解释 |
|---|---|
| Window.Callback | 返回回调 |
| Window.OnFrameMetricsAvailableListener | 希望为窗口呈现的每个帧提供帧定时信息的客户机的回调。 |
| Window.OnRestrictedCaptionAreaChangedListener | 为希望知道标题在何处绘制内容的客户端回调。 |
2.xml布局属性
| xml属性 | 解释 |
|---|---|
| android:windowAllowEnterTransitionOverlap | 指示此窗口的转换是否应该与调用Act的退出转换重叠的标志。 |
| android:windowAllowReturnTransitionOverlap | 指示当被调用的活动结束时,此窗口的转换是否应该与被调用act的退出转换重叠。 |
| android:windowContentTransitionManager | 引用TransitionManager XML资源,它定义不同窗口内容之间所需的转换。 |
| android:windowEnterTransition | 引用转换XML资源,该资源定义用于将视图移动到初始窗口的内容场景的所需转换。 |
| android:windowExitTransition | 引用转换XML资源,该资源定义用于在启动新act时将视图移出窗口内容场景的所需转换。 |
| android:windowReenterTransition | 对转换XML资源的引用,该资源定义所需的转换,用于在从先前启动的act返回时将视图移动到场景中。 |
| android:windowReturnTransition | 引用转换XML资源,该资源定义所需的转换,用于在窗口准备关闭时将视图移出场景 |
| android:windowSharedElementEnterTransition | 引用转换XML资源,该资源定义用于将共享元素转移到窗口的初始内容场景中的所需转换。 |
| android:windowSharedElementExitTransition | 引用转换XML资源,该资源定义了在启动新act以在转移到被调用act之前移动共享元素时所需的转换。 |
| android:windowSharedElementReenterTransition | 引用转换XML资源,该资源定义用于将共享元素传输回调用act的所需转换。 |
| android:windowSharedElementReturnTransition | 引用转换XML资源,该资源定义用于将共享元素转移回调用act的所需转换。 |
| android:windowSharedElementsUseOverlay | 指示共享元素是否应该在转换期间使用覆盖。 |
| android:windowTransitionBackgroundFadeDuration | 窗口背景的持续时间(以毫秒为单位)在使用act转换调用时,在转换到或离开某个act时逐渐消失。 |
3.常量
| int | 解释 |
|---|---|
| DECOR_CAPTION_SHADE_AUTO | 用于让主题驱动窗口标题控件的颜色的标记。 |
| DECOR_CAPTION_SHADE_DARK | 用于在窗口标题上设置深色控件的标记。 |
| DECOR_CAPTION_SHADE_LIGHT | 设置浅色 |
| DEFAULT_FEATURES | API22后被方法 getDefaultFeatures(android.content.Context) 替换了. |
| FEATURE_ACTION_BAR | 启用操作栏的标志。 |
| FEATURE_ACTION_BAR_OVERLAY | 请求覆盖窗口内容的操作栏的标志。 |
| FEATURE_ACTION_MODE_OVERLAY | 指定在不存在动作栏时动作模式行为的标志。 |
| FEATURE_ACTIVITY_TRANSITIONS | 允许act通过发送或接收ActivityOptions bundle来运行act转换,ActivityOptions由makeSceneTransitionAnimation(android.app.Activity, android.util.Pair[]) 或 makeSceneTransitionAnimation(android.app.Activity, View, String)创建 |
| FEATURE_CONTENT_TRANSITIONS | 请求窗口内容更改的标志应该使用TransitionManager进行动画。 |
| FEATURE_CONTEXT_MENU | Flag for the context menu. |
| FEATURE_CUSTOM_TITLE | 自定义标题的标志 |
| FEATURE_LEFT_ICON/FEATURE_RIGHT_ICON | 标题栏左/右边有图标的标志 |
| FEATURE_NO_TITLE | 为“无标题”功能标记,关闭屏幕顶部的标题。 |
| FEATURE_OPTIONS_PANEL | “选项面板”特性的标志。 |
| FEATURE_SWIPE_TO_DISMISS | 请求一个不包含装饰的窗口的标志,该窗口通过从左侧滑动关闭。 |
| ID_ANDROID_CONTENT | XML布局文件中的主布局应该具有的ID。 |
| NAVIGATION_BAR_BACKGROUND_TRANSITION_NAME(返回类型是String,不是int) | 使用自定义背景时navigation bar背景视图的transitionName |
| STATUS_BAR_BACKGROUND_TRANSITION_NAME(返回类型是String,不是int) | 当使用自定义背景时,状态栏背景视图的transitionName。 |
| 还有不少常量API21开始能用,但API24就不可用,深度开发Window功能,需要注意 |
4.方法
| 返回类型 | 方法名 | 解释 |
|---|---|---|
| abstract void | addContentView(View view, ViewGroup.LayoutParams params) | 向屏幕添加一个额外的内容视图。 |
| v | addFlags(int flags) | 根据每个setFlags(int, int)设置标记位 |
| final void | addOnFrameMetricsAvailableListener(Window.OnFrameMetricsAvailableListener listener, Handler handler) | 设置一个观察者来收集这个窗口中每个帧渲染器的帧统计数据。 |
| abstract void | clearFlags(int flags) | 清除setFlags(int, int)设置的标记 |
| v | closeAllPanels() | |
| v | closePanel(int featureId) | |
| View | findViewById(int id) | |
| boolean | getAllowEnterTransitionOverlap() | 返回setEnterTransition(android.transition.Transition)中的转换集如何与调用act的退出转换重叠。 |
| boolean | getAllowReturnTransitionOverlap() | 返回在setExitTransition(android.transition.Transition)中设置的转换在if完成后重新进入时与被调用活动的退出转换重叠。 |
| WindowManager.LayoutParams | getAttributes() | 检索与此面板关联的当前窗口属性。 |
| Window.Callback | getCallback() | |
| int | getColorMode() | 返回窗口的颜色模式,即COLOR_MODE_DEFAULT、COLOR_MODE_WIDE_COLOR_GAMUT或COLOR_MODE_HDR。 |
| Window | getContainer() | 返回此窗口的容器。 |
| Scene | getContentScene() | 检索表示此窗口当前内容的场景。 |
| final Context | getContext() | 返回此窗口策略正在运行的上下文,以检索资源和其他信息。 |
| View | getCurrentFocus() | 返回当前具有焦点的窗口中的视图,如果没有焦点,则返回null。 |
| View | getDecorView() | 检索顶级窗口装饰视图(包含标准窗口框架/装饰以及其中的客户端内容),该视图可以作为窗口管理器的窗口添加。 |
| static int | getDefaultFeatures(Context context) | 返回在窗口中默认设置的特性位。 |
| Transition | getEnterTransition() | 返回用于将视图移动到初始场景的转换。 |
| Transition | getExitTransition() | 返回将用于在启动新act时将视图移出场景的转换。 |
| abstract LayoutInflater | getLayoutInflater() | 快速访问这个窗口从上下文检索到的LayoutInflater实例。 |
| MediaController | getMediaController() | 获取之前设置的MediaController示例 |
| int | getNavigationBarColor() | |
| Transition | getReenterTransition() | 返回将用于在从先前启动的act返回时将视图移动到场景中的转换。 |
| Transition | getReturnTransition() | 返回将用于在窗口准备关闭时将视图移出场景的转换,例如在调用finishAfterTransition()之后。 |
| Transition | getSharedElementEnterTransition() | 返回将用于传输到内容场景的共享元素的转换。 |
| Transition | getSharedElementExitTransition() | 回在转移到启动act的窗口之前在act窗口中使用共享元素的转换。 |
| Transition | getSharedElementReenterTransition() | 返回在将共享元素返回到起始位置后,从已启动的act重新进入的共享元素所使用的转换 |
| Transition | getSharedElementReturnTransition() | 返回将用于将共享元素传输回调用act的转换。 |
| boolean | getSharedElementsUseOverlay() | 当共享元素在共享元素转换期间应该使用叠加时返回true;当它们作为正常视图层次结构的一部分进行动画时返回false。 |
| int | getStatusBarColor() | |
| long | getTransitionBackgroundFadeDuration() | 返回窗口背景的持续时间(以毫秒为单位),当使用活动转换调用进入或离开活动时,该窗口背景的消失时间。 |
| TransitionManager | getTransitionManager() | 此窗口中检索负责默认转换的TransitionManager |
| WindowManager | getWindowManager() | 返回窗口管理器,允许该窗口显示自己的窗口。 |
| final TypedArray | getWindowStyle() | 从这个窗口的主题返回窗口属性。 |
| boolean | hasFeature(int feature) | |
| boolean | hasChildren() | |
| void | injectInputEvent(InputEvent event) | 将事件注入本地窗口。 |
| void | invalidatePanelMenu(int featureId) | |
| boolean | isActive() | |
| boolean | isFloating() | 返回是否使用浮动样式显示此窗口(基于样式/主题中的windowisfloat属性)。 |
| boolean | isShortcutKey(int keyCode, KeyEvent event) | 是此窗口中定义的快捷键之一。 |
| void | makeActive() | |
| void | onConfigurationChanged(Configuration newConfig) | 配置更改时调用。 |
| openPanel(int featureId, KeyEvent event) | ||
| View | peekDecorView() | 检索当前的decor视图,但前提是它已经被创建;否则返回null。 |
| boolean | performContextMenuIdentifierAction(int id, int flags) | |
| boolean | performPanelIdentifierAction(int featureId, int id, int flags) | |
| boolean | performPanelShortcut(int featureId, int keyCode, KeyEvent event, int flags) | |
| void | removeOnFrameMetricsAvailableListener(Window.OnFrameMetricsAvailableListener listener) | 移除观察者并停止监听此窗口的帧状态。 |
| boolean | requestFeature(int featureId) | 启用扩展屏幕功能。 |
| restoreHierarchyState(Bundle savedInstanceState) | ||
| Bundle | saveHierarchyState() | |
| setAllowEnterTransitionOverlap(boolean allow) | 控制在setEnterTransition(android.transition.Transition)中设置的转换如何与调用act的退出转换重叠。 | |
| setAllowReturnTransitionOverlap(boolean allow) | 控件setExitTransition(android.transition.Transition)中的转换设置如何在if完成后重新进入时与被调用act的退出转换重叠。 | |
| setAttributes(WindowManager.LayoutParams a) | 代码自定义window属性 | |
| setBackgroundDrawable(Drawable drawable) | 自定义window背景 | |
| setBackgroundDrawableResource(int resId) | res资源设置自定义window背景 | |
| setCallback(Window.Callback callback) | 设置此窗口的回调接口,用于截获窗口中的关键事件和其他动态操作 | |
| setChildDrawable(int featureId, Drawable drawable) | ||
| setChildInt(int featureId, int value) | ||
| setClipToOutline(boolean clipToOutline) | 设置窗口内容是否应该剪切到窗口背景的轮廓。 | |
| setColorMode(int colorMode) | 设置窗口的颜色模式。 | |
| setContainer(Window container) | 设置此窗口的容器。 | |
| setContentView(View view, ViewGroup.LayoutParams params) | 将屏幕内容设置为显式视图。 | |
| setContentView(View view) | ||
| setContentView(int layoutResID) | ||
| setDecorCaptionShade(int decorCaptionShade) | 设置标题控件的颜色。 | |
| setDimAmount(float amount) | 使用FLAG_DIM_BEHIND时,设置窗口后的亮度。 | |
| setElevation(float elevation) | 设置窗口高度。 | |
| setEnterTransition(Transition transition) | ||
| setExitTransition(Transition transition) | ||
| setFeatureDrawable(int featureId, Drawable drawable) | 为该窗口的特性设置一个显式的可绘制值。 | |
| setFeatureDrawableAlpha(int featureId, int alpha) | 为给定的可绘制特性设置一个自定义alpha值,控制通过它可以看到多少背景。 | |
| setFeatureDrawableResource(int featureId, int resId) | 从资源标识符为该窗口的可绘制特性设置值。 | |
| setFeatureDrawableUri(int featureId, Uri uri) | 从URI为该窗口的可绘制特性设置值 | |
| setFeatureInt(int featureId, int value) | 设置特性的整数值。 | |
| setFlags(int flags, int mask) | Set the flags of the window, as per the WindowManager.LayoutParams flags. | |
| setFormat(int format) | 根据PixelFormat类型设置窗口的格式。 | |
| setGravity(int gravity) | ||
| setIcon(int resId) | ||
| setLayout(int width, int height) | 设置Window的宽高 | |
| setLocalFocus(boolean hasFocus, boolean inTouchMode) | 设置当前焦点 | |
| setLogo(int resId) | 设置logo | |
| setMediaController(MediaController controller) | 设置MediaController发送媒体键和音量更改。 | |
| setNavigationBarColor(int color) | navigation bar颜色 | |
| setReenterTransition(Transition transition) | ||
| setResizingCaptionDrawable(Drawable drawable) | 设置在调整大小期间在标题下绘制的可绘制图形。 | |
| setRestrictedCaptionAreaListener(Window.OnRestrictedCaptionAreaChangedListener listener) | 为标题绘制内容的区域设置回调。 | |
| setReturnTransition(Transition transition) | ||
| setSharedElementEnterTransition(Transition transition) | ||
| setSharedElementExitTransition(Transition transition) | ||
| setSharedElementReenterTransition(Transition transition) | ||
| setSharedElementReturnTransition(Transition transition) | ||
| setSharedElementsUseOverlay(boolean sharedElementsUseOverlay) | ||
| 设置共享元素在共享元素转换期间是否应该使用覆盖。 | ||
| setSoftInputMode(int mode) | 指定要为窗口使用的显式软输入模式,如windowmanager . layoutparam.softinputmode所示。 | |
| setStatusBarColor(int color) | status bar颜色 | |
| setSustainedPerformanceMode(boolean enable) | ||
| setTitle(CharSequence title) | ||
| setTitleColor(int textColor) | ||
| setTransitionBackgroundFadeDuration(long fadeDurationMillis) | 设置窗口背景的持续时间(以毫秒为单位),当使用活动转换调用进入或离开活动时,窗口背景的淡出淡出。 | |
| setTransitionManager(TransitionManager tm) | 在此窗口中设置要用于默认转换的TransitionManager。 | |
| setType(int type) | 根据WindowManager设置窗口的类型。LayoutParams类型。 | |
| setUiOptions(int uiOptions) | 设置将影响此窗口的UI的额外选项 | |
| setWindowAnimations(int resId) | 为窗口指定要使用的自定义动画,如windowmanager . layoutparams.windowanimation。 | |
| setWindowManager(WindowManager wm, IBinder appToken, String appName) | 将此窗口使用的窗口管理器设置为,例如,显示面板。 | |
| setWindowManager(WindowManager wm, IBinder appToken, String appName, boolean hardwareAccelerated) | 同上 | |
| superDispatchGenericMotionEvent(MotionEvent event) | 由自定义窗口(如对话框)使用,以在视图层次结构中进一步传递通用运动事件。 | |
| superDispatchKeyEvent(KeyEvent event) | ||
| superDispatchKeyShortcutEvent(KeyEvent event) | ||
| superDispatchTouchEvent(MotionEvent event) | ||
| superDispatchTrackballEvent(MotionEvent event) | ||
| takeInputQueue(InputQueue.Callback callback) | ||
| takeKeyEvents(boolean get) | ||
| takeSurface(SurfaceHolder.Callback2 callback) | ||
| togglePanel(int featureId, KeyEvent event) |
本文详细解析了Android中Window类的功能,包括回调接口、XML布局属性、常量和方法等核心内容,帮助开发者掌握Window的高级用法,实现更复杂的UI过渡效果。
1406

被折叠的 条评论
为什么被折叠?



