diff --git a/packages/SystemUI/res/layout/status_bar_expanded.xml b/packages/SystemUI/res/layout/status_bar_expanded.xml index cb32d63a4a13d..8eff1f4557049 100644 --- a/packages/SystemUI/res/layout/status_bar_expanded.xml +++ b/packages/SystemUI/res/layout/status_bar_expanded.xml @@ -27,7 +27,6 @@ android:background="@drawable/notification_panel_bg" android:paddingTop="@dimen/notification_panel_padding_top" android:layout_marginLeft="@dimen/notification_panel_margin_left" - android:animateLayoutChanges="true" > - - - + /> + diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java index 13a34ad3b542a..9c978d5029841 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -17,11 +17,23 @@ package com.android.systemui.statusbar.phone; import android.content.Context; +import android.content.res.Resources; +import android.graphics.Canvas; +import android.graphics.drawable.Drawable; import android.util.AttributeSet; +import com.android.systemui.R; public class NotificationPanelView extends PanelView { + + Drawable mHandleBar; + float mHandleBarHeight; + public NotificationPanelView(Context context, AttributeSet attrs) { super(context, attrs); + + Resources resources = context.getResources(); + mHandleBar = resources.getDrawable(R.drawable.status_bar_close); + mHandleBarHeight = resources.getDimension(R.dimen.close_handle_height); } @Override @@ -31,4 +43,20 @@ public class NotificationPanelView extends PanelView { "notifications,v=" + vel); super.fling(vel, always); } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + super.onLayout(changed, left, top, right, bottom); + if (changed) { + mHandleBar.setBounds(0, 0, getWidth(), (int) mHandleBarHeight); + } + } + + @Override + public void draw(Canvas canvas) { + super.draw(canvas); + canvas.translate(0, getHeight() - mHandleBarHeight); + mHandleBar.draw(canvas); + canvas.translate(0, -getHeight() + mHandleBarHeight); + } }