1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| public class DefaultNavigationBar extends AbsNavigationBar<DefaultNavigationBar.Builder.DefaultNavigationParams> { public DefaultNavigationBar(DefaultNavigationBar.Builder.DefaultNavigationParams params) { super(params); }
@Override public int bindLayoutId() { return R.layout.title_bar; }
@Override public void applyView() { //绑定效果 setText(R.id.title, getParams().mTitle); setText(R.id.right_text, getParams().mRightText); setIcon(R.id.left_icon, getParams().mLeftIcon); setIcon(R.id.right_icon, getParams().mRightIcon); setOnclickListener(R.id.right_text, getParams().mRightClickListener); setOnclickListener(R.id.left_text, getParams().mLeftClickListener); }
public static class Builder extends AbsNavigationBar.Builder { DefaultNavigationParams P;
public Builder(Context context, ViewGroup parent) { super(context, parent); P = new DefaultNavigationParams(context, parent); }
public Builder(Context context) { super(context, null); P = new DefaultNavigationParams(context, null); }
@Override public DefaultNavigationBar build() { return new DefaultNavigationBar(P); }
//设置所有效果 public DefaultNavigationBar.Builder setTitle(String title) { P.mTitle = title; return this; }
public DefaultNavigationBar.Builder setRightText(String rightText) { P.mRightText = rightText; return this; }
public DefaultNavigationBar.Builder setRightIcon(int rightIcon) { P.mRightIcon = rightIcon; return this; }
public DefaultNavigationBar.Builder setLeftText(String leftText) { P.mLeftText = leftText; return this; }
public DefaultNavigationBar.Builder setLeftIcon(int leftIcon) { P.mLeftIcon = leftIcon; return this; }
public DefaultNavigationBar.Builder setRightClickListener(View.OnClickListener listener) { P.mRightClickListener = listener; return this; }
public DefaultNavigationBar.Builder setLeftClickListener(View.OnClickListener listener) { P.mLeftClickListener = listener; return this; }
public static class DefaultNavigationParams extends AbsNavigationBar.Builder.AbsNavigationParams { //放置所有的效果 public String mTitle; public String mRightText; public String mLeftText; public int mRightIcon; public int mLeftIcon;
public View.OnClickListener mRightClickListener; public View.OnClickListener mLeftClickListener = view -> { ((Activity) mContext).finish(); };
public DefaultNavigationParams(Context context, ViewGroup parent) { super(context, parent); } } } }
|