相关源码:
\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\CollapsedStatusBarFragment.java
在文章《Android P SystemUI之super_status_bar.xml解析》讲到,StatusBar的UI主要是在super_status_bar.xml中加载的,其中状态栏UI部分主要容器status_bar_container中。
super_status_bar.xml的状态栏UI部分:
<FrameLayout
android:id="@+id/status_bar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
在StatusBar.java中初始化状态栏的UI:
// ================================================================================
// Constructing the view
// ================================================================================
protected void makeStatusBarView() {
//省略一部分代码
//...
FragmentHostManager.get(mStatusBarWindow)
.addTagListener(CollapsedStatusBarFragment.TAG, (tag, fragment) -> {
CollapsedStatusBarFragment statusBarFragment =
(CollapsedStatusBarFragment) fragment;
statusBarFragment.initNotificationIconArea(mNotificationIconAreaController);
PhoneStatusBarView oldStatusBarView = mStatusBarView;
mStatusBarView = (PhoneStatusBarView) fragment.getView();
mStatusBarView.setBar(this);
mStatusBarView.setPanel(mNotificationPanel);
mStatusBarView.setScrimController(mScrimController);
mStatusBarView.setBouncerShowing(mBouncerShowing);
if (oldStatusBarView != null) {
float fraction = oldStatusBarView.getExpansionFraction();
boolean expanded = oldStatusBarView

本文深入解析Android P系统的状态栏UI实现,重点讲解super_status_bar.xml布局文件及CollapsedStatusBarFragment类在StatusBar初始化过程中的作用,揭示状态栏各组件如时钟、通知图标区和系统图标区的布局与显示原理。
最低0.47元/天 解锁文章
884

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



