Update DrawerLayout

This commit is contained in:
seven332 committed 2019-01-07 11:49:07 +08:00
1 parent 7b07bdc51f
commit 0353c1cebb
4 files changed
+29 -23

No files matched your search

@@ -24,7 +24,8 @@ import com.hippo.widget.DrawerView;
public class EhDrawerView extends DrawerView implements DrawerLayoutChild {
private int mFitPaddingTop;
private int mWindowPaddingTop;
private int mWindowPaddingBottom;
public EhDrawerView(Context context) {
super(context);
@@ -39,17 +40,18 @@ public class EhDrawerView extends DrawerView implements DrawerLayoutChild {
}
@Override
public void setFitPadding(int top, int bottom) {
mFitPaddingTop = top;
public void onGetWindowPadding(int top, int bottom) {
mWindowPaddingTop = top;
mWindowPaddingBottom = bottom;
}
@Override
public int getLayoutPaddingTop() {
return mFitPaddingTop;
public int getAdditionalTopMargin() {
return mWindowPaddingTop;
}
@Override
public int getLayoutPaddingBottom() {
return 0;
public int getAdditionalBottomMargin() {
return mWindowPaddingBottom;
}
}
@@ -30,7 +30,8 @@ public class EhNavigationView extends LinearLayout implements DrawerLayoutChild
private static final int SCRIM_COLOR = 0x44000000;
private static final boolean DRAW_SCRIM = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
private Paint mPaint;
private int mFitPaddingTop;
private int mWindowPaddingTop;
private int mWindowPaddingBottom;
public EhNavigationView(Context context) {
super(context);
@@ -57,27 +58,28 @@ public class EhNavigationView extends LinearLayout implements DrawerLayoutChild
public void draw(@NonNull Canvas canvas) {
super.draw(canvas);
if (DRAW_SCRIM && mFitPaddingTop > 0) {
if (DRAW_SCRIM && mWindowPaddingTop > 0) {
if (null == mPaint) {
mPaint = new Paint();
mPaint.setColor(SCRIM_COLOR);
}
canvas.drawRect(0, 0, getWidth(), mFitPaddingTop, mPaint);
canvas.drawRect(0, 0, getWidth(), mWindowPaddingTop, mPaint);
}
}
@Override
public void setFitPadding(int top, int bottom) {
mFitPaddingTop = top;
public void onGetWindowPadding(int top, int bottom) {
mWindowPaddingTop = top;
mWindowPaddingBottom = bottom;
}
@Override
public int getLayoutPaddingTop() {
public int getAdditionalTopMargin() {
return 0;
}
@Override
public int getLayoutPaddingBottom() {
return 0;
public int getAdditionalBottomMargin() {
return mWindowPaddingBottom;
}
}
@@ -24,7 +24,8 @@ import com.hippo.scene.StageLayout;
public class EhStageLayout extends StageLayout implements DrawerLayoutChild {
private int mFitPaddingTop;
private int mWindowPaddingTop;
private int mWindowPaddingBottom;
public EhStageLayout(Context context) {
super(context);
@@ -39,17 +40,18 @@ public class EhStageLayout extends StageLayout implements DrawerLayoutChild {
}
@Override
public void setFitPadding(int top, int bottom) {
mFitPaddingTop = top;
public void onGetWindowPadding(int top, int bottom) {
mWindowPaddingTop = top;
mWindowPaddingBottom = bottom;
}
@Override
public int getLayoutPaddingTop() {
return mFitPaddingTop;
public int getAdditionalTopMargin() {
return mWindowPaddingTop;
}
@Override
public int getLayoutPaddingBottom() {
return 0;
public int getAdditionalBottomMargin() {
return mWindowPaddingBottom;
}
}