Commit c722502656e3d4e4cdbe668eeff356dbb4393c1e
Exists in
yxb_dev
and in
2 other branches
Merge branch 'yxb_dev' of http://git.shunzhi.net/taohd/parentwork into yxb_dev
Showing
24 changed files
with
623 additions
and
30 deletions
Show diff stats
app/src/main/AndroidManifest.xml
@@ -72,6 +72,7 @@ | @@ -72,6 +72,7 @@ | ||
72 | </intent-filter> | 72 | </intent-filter> |
73 | </activity> | 73 | </activity> |
74 | <activity android:name=".ui.MainActivity" | 74 | <activity android:name=".ui.MainActivity" |
75 | + android:windowSoftInputMode="adjustPan|stateAlwaysHidden" | ||
75 | android:screenOrientation="portrait" /> | 76 | android:screenOrientation="portrait" /> |
76 | <activity | 77 | <activity |
77 | android:name=".ui.activity.MyChildActivity" | 78 | android:name=".ui.activity.MyChildActivity" |
app/src/main/java/com/shunzhi/parent/contract/report/ReportContract.java
@@ -17,11 +17,15 @@ public interface ReportContract { | @@ -17,11 +17,15 @@ public interface ReportContract { | ||
17 | abstract class ReportPresenter extends BasePresenter<IReportModel,IReportView> { | 17 | abstract class ReportPresenter extends BasePresenter<IReportModel,IReportView> { |
18 | public abstract void reportResult(); | 18 | public abstract void reportResult(); |
19 | 19 | ||
20 | + public abstract void getReports(); | ||
20 | } | 21 | } |
21 | interface IReportModel extends IBaseModel{ | 22 | interface IReportModel extends IBaseModel{ |
22 | Observable<ReportBean> getReportResult(); | 23 | Observable<ReportBean> getReportResult(); |
24 | + void getReports(); | ||
23 | } | 25 | } |
24 | interface IReportView extends IBaseView{ | 26 | interface IReportView extends IBaseView{ |
25 | void UpdateList(List<ReportBean>list); | 27 | void UpdateList(List<ReportBean>list); |
28 | + | ||
29 | + void showReports(List<String> stringList); | ||
26 | } | 30 | } |
27 | } | 31 | } |
app/src/main/java/com/shunzhi/parent/model/report/ReportModel.java
@@ -18,4 +18,9 @@ public class ReportModel implements ReportContract.IReportModel { | @@ -18,4 +18,9 @@ public class ReportModel implements ReportContract.IReportModel { | ||
18 | public Observable<ReportBean> getReportResult() { | 18 | public Observable<ReportBean> getReportResult() { |
19 | return null; | 19 | return null; |
20 | } | 20 | } |
21 | + | ||
22 | + @Override | ||
23 | + public void getReports() { | ||
24 | + | ||
25 | + } | ||
21 | } | 26 | } |
app/src/main/java/com/shunzhi/parent/popu/ShaiXuanPop.java
0 → 100644
@@ -0,0 +1,156 @@ | @@ -0,0 +1,156 @@ | ||
1 | +package com.shunzhi.parent.popu; | ||
2 | + | ||
3 | +import android.content.Context; | ||
4 | +import android.graphics.drawable.BitmapDrawable; | ||
5 | +import android.graphics.drawable.Drawable; | ||
6 | +import android.view.Gravity; | ||
7 | +import android.view.View; | ||
8 | +import android.view.ViewGroup; | ||
9 | +import android.view.WindowManager; | ||
10 | +import android.widget.BaseAdapter; | ||
11 | +import android.widget.GridView; | ||
12 | +import android.widget.PopupWindow; | ||
13 | +import android.widget.TextView; | ||
14 | + | ||
15 | +import com.huxq17.handygridview.HandyGridView; | ||
16 | +import com.share.mvpsdk.utils.DisplayUtils; | ||
17 | +import com.shunzhi.parent.R; | ||
18 | +import com.shunzhi.parent.popu.handygrid.TagView; | ||
19 | + | ||
20 | +import java.util.ArrayList; | ||
21 | +import java.util.List; | ||
22 | + | ||
23 | +/** | ||
24 | + * Created by ToaHanDong on 2018/3/15. | ||
25 | + */ | ||
26 | + | ||
27 | +public class ShaiXuanPop extends PopupWindow { | ||
28 | + | ||
29 | + HandyGridView handyGridView = null; | ||
30 | + | ||
31 | + List<String> stringList = null; | ||
32 | + | ||
33 | + private Context mContext = null; | ||
34 | + | ||
35 | + MyGridAdapter myGridAdapter = null; | ||
36 | + | ||
37 | + TextView tvSubmit; | ||
38 | + | ||
39 | + public ShaiXuanPop(Context context) { | ||
40 | + mContext = context; | ||
41 | + | ||
42 | + View view = View.inflate(context, R.layout.popu_shaixuan, null); | ||
43 | + handyGridView = view.findViewById(R.id.handyGridView); | ||
44 | + tvSubmit=view.findViewById(R.id.tvSubmit); | ||
45 | + stringList = new ArrayList<>(); | ||
46 | + | ||
47 | + setWidth(WindowManager.LayoutParams.MATCH_PARENT); | ||
48 | + setHeight(WindowManager.LayoutParams.WRAP_CONTENT); | ||
49 | + | ||
50 | + setOutsideTouchable(true); | ||
51 | + setFocusable(true); | ||
52 | + setBackgroundDrawable(new BitmapDrawable()); | ||
53 | + | ||
54 | + setContentView(view); | ||
55 | + update(); | ||
56 | + | ||
57 | + tvSubmit.setOnClickListener(new View.OnClickListener() { | ||
58 | + @Override | ||
59 | + public void onClick(View view) { | ||
60 | + | ||
61 | + } | ||
62 | + }); | ||
63 | + | ||
64 | + } | ||
65 | + | ||
66 | + public void show(View parent) { | ||
67 | + showAsDropDown(parent); | ||
68 | + } | ||
69 | + | ||
70 | + public void setDatas(List<String> strings) { | ||
71 | + | ||
72 | + if (null != stringList) { | ||
73 | + stringList.clear(); | ||
74 | + stringList.addAll(strings); | ||
75 | + } | ||
76 | + | ||
77 | + if (null == myGridAdapter) myGridAdapter = new MyGridAdapter(); | ||
78 | + if (null == handyGridView.getAdapter()) handyGridView.setAdapter(myGridAdapter); | ||
79 | + myGridAdapter.notifyDataSetChanged(); | ||
80 | + | ||
81 | + } | ||
82 | + | ||
83 | + private class MyGridAdapter extends BaseAdapter { | ||
84 | + | ||
85 | + private GridView mGridView; | ||
86 | + private boolean inEditMode = false;//设置是否可以编辑 | ||
87 | + | ||
88 | + public void setInEditMode(boolean inEditMode) { | ||
89 | + this.inEditMode = inEditMode; | ||
90 | + notifyDataSetChanged(); | ||
91 | + } | ||
92 | + | ||
93 | + @Override | ||
94 | + public int getCount() { | ||
95 | + return stringList.size(); | ||
96 | + } | ||
97 | + | ||
98 | + @Override | ||
99 | + public Object getItem(int i) { | ||
100 | + return stringList.get(i); | ||
101 | + } | ||
102 | + | ||
103 | + @Override | ||
104 | + public long getItemId(int i) { | ||
105 | + return i; | ||
106 | + } | ||
107 | + | ||
108 | + @Override | ||
109 | + public View getView(int i, View convertView, ViewGroup viewGroup) { | ||
110 | + | ||
111 | + if (mGridView == null) { | ||
112 | + mGridView = (GridView) viewGroup; | ||
113 | + } | ||
114 | + | ||
115 | + TagView textView; | ||
116 | + | ||
117 | + if (convertView == null) { | ||
118 | + textView = new TagView(mContext); | ||
119 | + convertView = textView; | ||
120 | + textView.setMaxLines(1); | ||
121 | + textView.setHeight(DisplayUtils.dp2px(30)); | ||
122 | + int id = mContext.getResources().getIdentifier("s_grid_item", "drawable", mContext.getPackageName()); | ||
123 | + Drawable drawable = mContext.getResources().getDrawable(id); | ||
124 | + textView.setBackgroundDrawable(drawable); | ||
125 | + textView.setTextColor(mContext.getResources().getColor(R.color.huodong_blue)); | ||
126 | + textView.setGravity(Gravity.CENTER); | ||
127 | + textView.setTag(false); | ||
128 | + } else { | ||
129 | + textView = (TagView) convertView; | ||
130 | + } | ||
131 | + | ||
132 | + textView.setOnClickListener(new View.OnClickListener() { | ||
133 | + @Override | ||
134 | + public void onClick(View view) { | ||
135 | + boolean isSelect = (boolean) view.getTag(); | ||
136 | + view.setTag(!isSelect); | ||
137 | + notifyDataSetChanged(); | ||
138 | + } | ||
139 | + }); | ||
140 | + | ||
141 | + boolean isSelect = (boolean) textView.getTag(); | ||
142 | + if (isSelect) { | ||
143 | + textView.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.shape_blue_select)); | ||
144 | + textView.setTextColor(mContext.getResources().getColor(R.color.white)); | ||
145 | + } else { | ||
146 | + textView.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.shape_blue_normal)); | ||
147 | + textView.setTextColor(mContext.getResources().getColor(R.color.huodong_blue)); | ||
148 | + } | ||
149 | + textView.showDeleteIcon(false); | ||
150 | + textView.setText(getItem(i).toString()); | ||
151 | + return convertView; | ||
152 | + } | ||
153 | + } | ||
154 | + | ||
155 | + | ||
156 | +} |
app/src/main/java/com/shunzhi/parent/popu/handygrid/TagView.java
0 → 100644
@@ -0,0 +1,116 @@ | @@ -0,0 +1,116 @@ | ||
1 | +package com.shunzhi.parent.popu.handygrid; | ||
2 | + | ||
3 | +import android.content.Context; | ||
4 | +import android.graphics.Canvas; | ||
5 | +import android.graphics.Rect; | ||
6 | +import android.graphics.drawable.Drawable; | ||
7 | +import android.util.AttributeSet; | ||
8 | +import android.util.Log; | ||
9 | +import android.view.MotionEvent; | ||
10 | +import android.view.View; | ||
11 | + | ||
12 | +import com.share.mvpsdk.utils.DisplayUtils; | ||
13 | +import com.shunzhi.parent.R; | ||
14 | + | ||
15 | +/** | ||
16 | + * Created by ToaHanDong on 2018/3/15. | ||
17 | + */ | ||
18 | + | ||
19 | +public class TagView extends android.support.v7.widget.AppCompatTextView { | ||
20 | + private Drawable deleteIcon; | ||
21 | + private int iconWidth; | ||
22 | + private int iconHeight; | ||
23 | + private boolean showIcon = true; | ||
24 | + private Rect mDelteRect; | ||
25 | + private Rect mAssumeDelteRect; | ||
26 | + | ||
27 | + public TagView(Context context) { | ||
28 | + super(context); | ||
29 | +// int id = context.getResources().getIdentifier("ic_delete", "drawable", context.getPackageName()); | ||
30 | + deleteIcon = context.getResources().getDrawable(R.drawable.ic_delete); | ||
31 | + } | ||
32 | + | ||
33 | + @Override | ||
34 | + protected void onDraw(Canvas canvas) { | ||
35 | + super.onDraw(canvas); | ||
36 | + if (mAssumeDelteRect == null) { | ||
37 | + setDeleteBounds(); | ||
38 | + } | ||
39 | + if (showIcon) { | ||
40 | + deleteIcon.draw(canvas); | ||
41 | + } | ||
42 | + } | ||
43 | + | ||
44 | + private void setDeleteBounds() { | ||
45 | + iconWidth = deleteIcon.getIntrinsicWidth(); | ||
46 | + iconHeight = deleteIcon.getIntrinsicHeight(); | ||
47 | + int left = getWidth() - iconWidth; | ||
48 | + int top = 0; | ||
49 | + mDelteRect = new Rect(left, top, left + iconWidth, top + iconHeight); | ||
50 | + //padding扩大了icon的点击范围 | ||
51 | + int padding = DisplayUtils.dp2px(10); | ||
52 | + mAssumeDelteRect = new Rect(mDelteRect.left, mDelteRect.top, mDelteRect.left + iconWidth + padding, mDelteRect.top + iconHeight + padding); | ||
53 | + deleteIcon.setBounds(mDelteRect); | ||
54 | + } | ||
55 | + | ||
56 | + @Override | ||
57 | + public boolean onTouchEvent(MotionEvent event) { | ||
58 | + int action = event.getAction(); | ||
59 | + int x = (int) event.getX(); | ||
60 | + int y = (int) event.getY(); | ||
61 | + boolean contains = mAssumeDelteRect.contains(x, y); | ||
62 | + switch (action) { | ||
63 | + case MotionEvent.ACTION_DOWN: | ||
64 | + if (contains && showIcon) { | ||
65 | + return true; | ||
66 | + } | ||
67 | + break; | ||
68 | + case MotionEvent.ACTION_MOVE: | ||
69 | + break; | ||
70 | + case MotionEvent.ACTION_UP: | ||
71 | + if (contains && showIcon) { | ||
72 | + if (mListener != null) { | ||
73 | + mListener.onDelete(this); | ||
74 | + } | ||
75 | + return true; | ||
76 | + } | ||
77 | + break; | ||
78 | + } | ||
79 | + return super.onTouchEvent(event); | ||
80 | + } | ||
81 | + | ||
82 | + private void log(String msg) { | ||
83 | + Log.e(getClass().getCanonicalName(), msg); | ||
84 | + } | ||
85 | + | ||
86 | + public void showDeleteIcon(boolean show) { | ||
87 | + showIcon = show; | ||
88 | + invalidate(); | ||
89 | + } | ||
90 | + | ||
91 | + private OnTagDeleteListener mListener; | ||
92 | + | ||
93 | + public void setOnTagDeleteListener(OnTagDeleteListener listener) { | ||
94 | + mListener = listener; | ||
95 | + } | ||
96 | + | ||
97 | + public interface OnTagDeleteListener { | ||
98 | + /** | ||
99 | + * Delete view. | ||
100 | + * | ||
101 | + * @param deleteView | ||
102 | + */ | ||
103 | + void onDelete(View deleteView); | ||
104 | + } | ||
105 | +// @Override | ||
106 | +// protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { | ||
107 | +//// int widthSize = 100; | ||
108 | +// int heightSize = DensityUtil.dip2px(getContext(),40); | ||
109 | +//// | ||
110 | +//// widthMeasureSpec = MeasureSpec.makeMeasureSpec(widthSize, MeasureSpec.AT_MOST); | ||
111 | +// heightMeasureSpec = MeasureSpec.makeMeasureSpec(heightSize, MeasureSpec.AT_MOST); | ||
112 | +// setMeasuredDimension(widthMeasureSpec, heightMeasureSpec); | ||
113 | +//// super.onMeasure(widthMeasureSpec, heightMeasureSpec); | ||
114 | +// Log.e("onmea","width="+getDefaultSize(getSuggestedMinimumWidth(), widthMeasureSpec)+";height="+getDefaultSize(getSuggestedMinimumHeight(),heightMeasureSpec)); | ||
115 | +// } | ||
116 | +} |
app/src/main/java/com/shunzhi/parent/presenter/report/ReportPresenter.java
@@ -32,4 +32,18 @@ public class ReportPresenter extends ReportContract.ReportPresenter{ | @@ -32,4 +32,18 @@ public class ReportPresenter extends ReportContract.ReportPresenter{ | ||
32 | mIView.UpdateList(list); | 32 | mIView.UpdateList(list); |
33 | 33 | ||
34 | } | 34 | } |
35 | + | ||
36 | + @Override | ||
37 | + public void getReports() { | ||
38 | + | ||
39 | + List<String> stringList=new ArrayList<>(); | ||
40 | + | ||
41 | + stringList.add("全部"); | ||
42 | + stringList.add("作业+"); | ||
43 | + stringList.add("测评+"); | ||
44 | + stringList.add("德育+"); | ||
45 | + | ||
46 | + mIView.showReports(stringList); | ||
47 | + | ||
48 | + } | ||
35 | } | 49 | } |
app/src/main/java/com/shunzhi/parent/ui/fragment/CePingFragment.java
@@ -8,6 +8,7 @@ import android.os.Bundle; | @@ -8,6 +8,7 @@ import android.os.Bundle; | ||
8 | import android.support.annotation.NonNull; | 8 | import android.support.annotation.NonNull; |
9 | import android.support.annotation.Nullable; | 9 | import android.support.annotation.Nullable; |
10 | import android.support.design.widget.FloatingActionButton; | 10 | import android.support.design.widget.FloatingActionButton; |
11 | +import android.util.Log; | ||
11 | import android.view.View; | 12 | import android.view.View; |
12 | import android.widget.FrameLayout; | 13 | import android.widget.FrameLayout; |
13 | import android.widget.ImageView; | 14 | import android.widget.ImageView; |
@@ -22,6 +23,7 @@ import com.shunzhi.parent.AppContext; | @@ -22,6 +23,7 @@ import com.shunzhi.parent.AppContext; | ||
22 | import com.shunzhi.parent.R; | 23 | import com.shunzhi.parent.R; |
23 | import com.shunzhi.parent.contract.ceping.CepingContract; | 24 | import com.shunzhi.parent.contract.ceping.CepingContract; |
24 | import com.shunzhi.parent.presenter.ceping.CePingPresenter; | 25 | import com.shunzhi.parent.presenter.ceping.CePingPresenter; |
26 | +import com.shunzhi.parent.views.DragFloatActionButton; | ||
25 | import com.shunzhi.parent.views.TextAndImgShowView; | 27 | import com.shunzhi.parent.views.TextAndImgShowView; |
26 | 28 | ||
27 | import me.leefeng.citypicker.CityPicker; | 29 | import me.leefeng.citypicker.CityPicker; |
@@ -63,6 +65,7 @@ public class CePingFragment extends BaseMVPCompatFragment<CepingContract.CePingP | @@ -63,6 +65,7 @@ public class CePingFragment extends BaseMVPCompatFragment<CepingContract.CePingP | ||
63 | 65 | ||
64 | addTools(); | 66 | addTools(); |
65 | 67 | ||
68 | + tvLocalAddress.setText(AppContext.getInstance().cityName); | ||
66 | textAndImg_xqjc.setTextColor(R.color.white); | 69 | textAndImg_xqjc.setTextColor(R.color.white); |
67 | textAndImg_xqjc.setText("学情检测"); | 70 | textAndImg_xqjc.setText("学情检测"); |
68 | textAndImg_xqjc.setImgs(R.drawable.xqjc,R.drawable.xqjc); | 71 | textAndImg_xqjc.setImgs(R.drawable.xqjc,R.drawable.xqjc); |
@@ -74,7 +77,18 @@ public class CePingFragment extends BaseMVPCompatFragment<CepingContract.CePingP | @@ -74,7 +77,18 @@ public class CePingFragment extends BaseMVPCompatFragment<CepingContract.CePingP | ||
74 | textAndImg_zxlx.setSelect(true); | 77 | textAndImg_zxlx.setSelect(true); |
75 | 78 | ||
76 | initListeners(view); | 79 | initListeners(view); |
77 | - floatingActionButton.setRippleColor(getResources().getColor(R.color.white)); | 80 | + floatingActionButton.setOnClickListener(new View.OnClickListener() { |
81 | + @Override | ||
82 | + public void onClick(View view) { | ||
83 | + | ||
84 | + } | ||
85 | + }); | ||
86 | +// floatingActionButton.setOnClickListeners(new DragFloatActionButton.OnClickListeners() { | ||
87 | +// @Override | ||
88 | +// public void onClicks() { | ||
89 | +// ToastUtils.showToast("dfafdaf"); | ||
90 | +// } | ||
91 | +// }); | ||
78 | } | 92 | } |
79 | 93 | ||
80 | private void addTools() { | 94 | private void addTools() { |
app/src/main/java/com/shunzhi/parent/ui/fragment/ConsultFragment.java
@@ -84,7 +84,7 @@ public class ConsultFragment extends BaseMVPCompatFragment<ConsultContract.Consu | @@ -84,7 +84,7 @@ public class ConsultFragment extends BaseMVPCompatFragment<ConsultContract.Consu | ||
84 | } | 84 | } |
85 | 85 | ||
86 | private void initBanners() { | 86 | private void initBanners() { |
87 | - | 87 | + tvLocalAddress.setText(AppContext.getInstance().cityName); |
88 | InputStream inputStream = getClass().getResourceAsStream("/assets/banners.png"); | 88 | InputStream inputStream = getClass().getResourceAsStream("/assets/banners.png"); |
89 | try { | 89 | try { |
90 | imgesUrl.add(new String(InputStreamToByte(inputStream))); | 90 | imgesUrl.add(new String(InputStreamToByte(inputStream))); |
app/src/main/java/com/shunzhi/parent/ui/fragment/ReportFragment.java
@@ -7,26 +7,26 @@ import android.support.annotation.Nullable; | @@ -7,26 +7,26 @@ import android.support.annotation.Nullable; | ||
7 | import android.support.v7.widget.LinearLayoutManager; | 7 | import android.support.v7.widget.LinearLayoutManager; |
8 | import android.support.v7.widget.RecyclerView; | 8 | import android.support.v7.widget.RecyclerView; |
9 | import android.view.View; | 9 | import android.view.View; |
10 | +import android.widget.TextView; | ||
10 | 11 | ||
11 | import com.amy.monthweek.materialcalendarview.MonthWeekMaterialCalendarView; | 12 | import com.amy.monthweek.materialcalendarview.MonthWeekMaterialCalendarView; |
12 | import com.prolificinteractive.materialcalendarview.CalendarDay; | 13 | import com.prolificinteractive.materialcalendarview.CalendarDay; |
13 | import com.prolificinteractive.materialcalendarview.MaterialCalendarView; | 14 | import com.prolificinteractive.materialcalendarview.MaterialCalendarView; |
14 | import com.share.mvpsdk.base.BasePresenter; | 15 | import com.share.mvpsdk.base.BasePresenter; |
15 | import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment; | 16 | import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment; |
16 | -import com.share.mvpsdk.utils.ToastUtils; | ||
17 | import com.shunzhi.parent.R; | 17 | import com.shunzhi.parent.R; |
18 | import com.shunzhi.parent.adapter.ReportAdapter; | 18 | import com.shunzhi.parent.adapter.ReportAdapter; |
19 | import com.shunzhi.parent.bean.ReportBean; | 19 | import com.shunzhi.parent.bean.ReportBean; |
20 | import com.shunzhi.parent.contract.report.ReportContract; | 20 | import com.shunzhi.parent.contract.report.ReportContract; |
21 | +import com.shunzhi.parent.popu.ShaiXuanPop; | ||
21 | import com.shunzhi.parent.presenter.report.ReportPresenter; | 22 | import com.shunzhi.parent.presenter.report.ReportPresenter; |
22 | import com.shunzhi.parent.views.CustomLinearLayoutManager; | 23 | import com.shunzhi.parent.views.CustomLinearLayoutManager; |
23 | 24 | ||
24 | -import java.util.Calendar; | ||
25 | -import java.util.Date; | ||
26 | import java.util.List; | 25 | import java.util.List; |
27 | 26 | ||
28 | public class ReportFragment extends BaseMVPCompatFragment<ReportContract.ReportPresenter, ReportContract.IReportModel> | 27 | public class ReportFragment extends BaseMVPCompatFragment<ReportContract.ReportPresenter, ReportContract.IReportModel> |
29 | - implements ReportContract.IReportView { | 28 | + implements ReportContract.IReportView ,View.OnClickListener{ |
29 | + | ||
30 | RecyclerView recyclerView; | 30 | RecyclerView recyclerView; |
31 | ReportAdapter reportAdapter; | 31 | ReportAdapter reportAdapter; |
32 | 32 | ||
@@ -36,6 +36,10 @@ public class ReportFragment extends BaseMVPCompatFragment<ReportContract.ReportP | @@ -36,6 +36,10 @@ public class ReportFragment extends BaseMVPCompatFragment<ReportContract.ReportP | ||
36 | 36 | ||
37 | MaterialCalendarView calendarView_month_mode; | 37 | MaterialCalendarView calendarView_month_mode; |
38 | 38 | ||
39 | + TextView tvDate,tvShaiXuan; | ||
40 | + | ||
41 | + ShaiXuanPop shaiXuanPop=null; | ||
42 | + | ||
39 | @NonNull | 43 | @NonNull |
40 | @Override | 44 | @Override |
41 | public BasePresenter initPresenter() { | 45 | public BasePresenter initPresenter() { |
@@ -50,7 +54,9 @@ public class ReportFragment extends BaseMVPCompatFragment<ReportContract.ReportP | @@ -50,7 +54,9 @@ public class ReportFragment extends BaseMVPCompatFragment<ReportContract.ReportP | ||
50 | @Override | 54 | @Override |
51 | public void initUI(View view, @Nullable Bundle savedInstanceState) { | 55 | public void initUI(View view, @Nullable Bundle savedInstanceState) { |
52 | recyclerView = view.findViewById(R.id.recycle_report); | 56 | recyclerView = view.findViewById(R.id.recycle_report); |
53 | - calendarView_month_mode=view.findViewById(R.id.calendarView_month_mode); | 57 | + calendarView_month_mode = view.findViewById(R.id.calendarView_month_mode); |
58 | + tvDate = view.findViewById(R.id.tvDate); | ||
59 | + tvShaiXuan=view.findViewById(R.id.tvShaiXuan); | ||
54 | 60 | ||
55 | LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); | 61 | LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); |
56 | layoutManager.setOrientation(LinearLayoutManager.VERTICAL); | 62 | layoutManager.setOrientation(LinearLayoutManager.VERTICAL); |
@@ -64,33 +70,41 @@ public class ReportFragment extends BaseMVPCompatFragment<ReportContract.ReportP | @@ -64,33 +70,41 @@ public class ReportFragment extends BaseMVPCompatFragment<ReportContract.ReportP | ||
64 | } | 70 | } |
65 | 71 | ||
66 | private void initCalendarView() { | 72 | private void initCalendarView() { |
67 | -// month_week_CalendarView.setMode(MonthWeekMaterialCalendarView.Mode.MONTH); | 73 | + |
68 | selectedDate = CalendarDay.today(); | 74 | selectedDate = CalendarDay.today(); |
75 | + showDate(); | ||
69 | monthWeekMaterialCalendarView.setMode(MonthWeekMaterialCalendarView.Mode.WEEK); | 76 | monthWeekMaterialCalendarView.setMode(MonthWeekMaterialCalendarView.Mode.WEEK); |
70 | monthWeekMaterialCalendarView.setCurrentDate(selectedDate); | 77 | monthWeekMaterialCalendarView.setCurrentDate(selectedDate); |
71 | monthWeekMaterialCalendarView.setSelectedDate(selectedDate); | 78 | monthWeekMaterialCalendarView.setSelectedDate(selectedDate); |
72 | monthWeekMaterialCalendarView.state().edit().setSlideModeChangeListener(new MonthWeekMaterialCalendarView.SlideModeChangeListener() { | 79 | monthWeekMaterialCalendarView.state().edit().setSlideModeChangeListener(new MonthWeekMaterialCalendarView.SlideModeChangeListener() { |
73 | @Override | 80 | @Override |
74 | - public void modeChange(MonthWeekMaterialCalendarView.Mode mode) { | 81 | + public void modeChange(MonthWeekMaterialCalendarView.Mode mode) { |
75 | 82 | ||
76 | } | 83 | } |
77 | }).setSlideDateSelectedlistener(new MonthWeekMaterialCalendarView.SlideDateSelectedlistener() { | 84 | }).setSlideDateSelectedlistener(new MonthWeekMaterialCalendarView.SlideDateSelectedlistener() { |
78 | @Override | 85 | @Override |
79 | public void onDateSelected(@NonNull MaterialCalendarView widget, @NonNull CalendarDay date, boolean selected) { | 86 | public void onDateSelected(@NonNull MaterialCalendarView widget, @NonNull CalendarDay date, boolean selected) { |
80 | selectedDate = date; | 87 | selectedDate = date; |
88 | + showDate(); | ||
81 | 89 | ||
82 | } | 90 | } |
83 | }).setSlideOnMonthChangedListener(new MonthWeekMaterialCalendarView.SlideOnMonthChangedListener() { | 91 | }).setSlideOnMonthChangedListener(new MonthWeekMaterialCalendarView.SlideOnMonthChangedListener() { |
84 | @Override | 92 | @Override |
85 | public void onMonthChanged(MaterialCalendarView widget, CalendarDay date) { | 93 | public void onMonthChanged(MaterialCalendarView widget, CalendarDay date) { |
86 | - | 94 | + selectedDate = date; |
95 | + showDate(); | ||
87 | } | 96 | } |
88 | }).commit(); | 97 | }).commit(); |
89 | 98 | ||
90 | } | 99 | } |
91 | 100 | ||
101 | + private void showDate() { | ||
102 | + tvDate.setText(selectedDate.getYear() + "年" + (selectedDate.getMonth() + 1) + "月"); | ||
103 | + } | ||
104 | + | ||
92 | private void initReportList() { | 105 | private void initReportList() { |
93 | mPresenter.reportResult(); | 106 | mPresenter.reportResult(); |
107 | + tvShaiXuan.setOnClickListener(this); | ||
94 | } | 108 | } |
95 | 109 | ||
96 | @Override | 110 | @Override |
@@ -99,4 +113,22 @@ public class ReportFragment extends BaseMVPCompatFragment<ReportContract.ReportP | @@ -99,4 +113,22 @@ public class ReportFragment extends BaseMVPCompatFragment<ReportContract.ReportP | ||
99 | reportAdapter.addAll(list); | 113 | reportAdapter.addAll(list); |
100 | recyclerView.setAdapter(reportAdapter); | 114 | recyclerView.setAdapter(reportAdapter); |
101 | } | 115 | } |
116 | + | ||
117 | + @Override | ||
118 | + public void showReports(List<String> stringList) { | ||
119 | + if (null!=shaiXuanPop){ | ||
120 | + shaiXuanPop.setDatas(stringList); | ||
121 | + shaiXuanPop.show(tvShaiXuan); | ||
122 | + } | ||
123 | + } | ||
124 | + | ||
125 | + @Override | ||
126 | + public void onClick(View view) { | ||
127 | + switch (view.getId()){ | ||
128 | + case R.id.tvShaiXuan: | ||
129 | + if (null==shaiXuanPop)shaiXuanPop=new ShaiXuanPop(getActivity()); | ||
130 | + mPresenter.getReports(); | ||
131 | + break; | ||
132 | + } | ||
133 | + } | ||
102 | } | 134 | } |
app/src/main/java/com/shunzhi/parent/ui/fragment/consult/ConsultOneLevelFragment.java
@@ -5,7 +5,6 @@ import android.support.annotation.NonNull; | @@ -5,7 +5,6 @@ import android.support.annotation.NonNull; | ||
5 | import android.support.annotation.Nullable; | 5 | import android.support.annotation.Nullable; |
6 | import android.support.v7.widget.LinearLayoutManager; | 6 | import android.support.v7.widget.LinearLayoutManager; |
7 | import android.support.v7.widget.RecyclerView; | 7 | import android.support.v7.widget.RecyclerView; |
8 | -import android.util.Log; | ||
9 | import android.view.LayoutInflater; | 8 | import android.view.LayoutInflater; |
10 | import android.view.View; | 9 | import android.view.View; |
11 | import android.view.ViewGroup; | 10 | import android.view.ViewGroup; |
app/src/main/java/com/shunzhi/parent/views/DragFloatActionButton.java
0 → 100644
@@ -0,0 +1,115 @@ | @@ -0,0 +1,115 @@ | ||
1 | +package com.shunzhi.parent.views; | ||
2 | + | ||
3 | +import android.animation.ObjectAnimator; | ||
4 | +import android.content.Context; | ||
5 | +import android.support.design.widget.FloatingActionButton; | ||
6 | +import android.util.AttributeSet; | ||
7 | +import android.util.Log; | ||
8 | +import android.view.MotionEvent; | ||
9 | +import android.view.ViewGroup; | ||
10 | +import android.view.animation.DecelerateInterpolator; | ||
11 | + | ||
12 | + | ||
13 | +/** | ||
14 | + * Created by ToaHanDong on 2018/3/15. | ||
15 | + */ | ||
16 | + | ||
17 | +public class DragFloatActionButton extends FloatingActionButton { | ||
18 | + private int parentHeight; | ||
19 | + private int parentWidth; | ||
20 | + | ||
21 | + public DragFloatActionButton(Context context) { | ||
22 | + super(context); | ||
23 | + } | ||
24 | + | ||
25 | + public DragFloatActionButton(Context context, AttributeSet attrs) { | ||
26 | + super(context, attrs); | ||
27 | + | ||
28 | + } | ||
29 | + | ||
30 | + public DragFloatActionButton(Context context, AttributeSet attrs, int defStyleAttr) { | ||
31 | + super(context, attrs, defStyleAttr); | ||
32 | + } | ||
33 | + | ||
34 | + private int lastX; | ||
35 | + private int lastY; | ||
36 | + | ||
37 | + private boolean isDrag; | ||
38 | + | ||
39 | + @Override | ||
40 | + public boolean onTouchEvent(MotionEvent event) { | ||
41 | + int rawX = (int) event.getRawX(); | ||
42 | + int rawY = (int) event.getRawY(); | ||
43 | + | ||
44 | + switch (event.getAction() & MotionEvent.ACTION_MASK) { | ||
45 | + case MotionEvent.ACTION_DOWN: | ||
46 | + setPressed(true); | ||
47 | + isDrag = false; | ||
48 | + getParent().requestDisallowInterceptTouchEvent(true); | ||
49 | + lastX = rawX; | ||
50 | + lastY = rawY; | ||
51 | + ViewGroup parent; | ||
52 | + if (getParent() != null) { | ||
53 | + parent = (ViewGroup) getParent(); | ||
54 | + parentHeight = parent.getHeight(); | ||
55 | + parentWidth = parent.getWidth(); | ||
56 | + } | ||
57 | + break; | ||
58 | + | ||
59 | + case MotionEvent.ACTION_MOVE: | ||
60 | + if (parentHeight <= 0 || parentWidth == 0) { | ||
61 | + isDrag = false; | ||
62 | + break; | ||
63 | + } else { | ||
64 | + isDrag = true; | ||
65 | + } | ||
66 | + int dx = rawX - lastX; | ||
67 | + int dy = rawY - lastY; | ||
68 | + //这里修复一些华为手机无法触发点击事件 | ||
69 | + int distance = (int) Math.sqrt(dx * dx + dy * dy); | ||
70 | + if (distance == 0) { | ||
71 | + isDrag = false; | ||
72 | + break; | ||
73 | + } | ||
74 | + float x = getX() + dx; | ||
75 | + float y = getY() + dy; | ||
76 | + //检测是否到达边缘 左上右下 | ||
77 | + x = x < 0 ? 0 : x > parentWidth - getWidth() ? parentWidth - getWidth() : x; | ||
78 | + y = getY() < 0 ? 0 : getY() + getHeight() > parentHeight ? parentHeight - getHeight() : y; | ||
79 | + setX(x); | ||
80 | + setY(y); | ||
81 | + lastX = rawX; | ||
82 | + lastY = rawY; | ||
83 | + break; | ||
84 | + case MotionEvent.ACTION_UP: | ||
85 | + if (!isNotDrag()) { | ||
86 | + //恢复按压效果 | ||
87 | + setPressed(false); | ||
88 | + //Log.i("getX="+getX()+";screenWidthHalf="+screenWidthHalf); | ||
89 | + if (rawX >= parentWidth / 2) { | ||
90 | + //靠右吸附 | ||
91 | + animate().setInterpolator(new DecelerateInterpolator()) | ||
92 | + .setDuration(500) | ||
93 | + .xBy(parentWidth - getWidth() - getX()) | ||
94 | + .start(); | ||
95 | + } else { | ||
96 | + //靠左吸附 | ||
97 | + ObjectAnimator oa = ObjectAnimator.ofFloat(this, "x", getX(), 0); | ||
98 | + oa.setInterpolator(new DecelerateInterpolator()); | ||
99 | + oa.setDuration(500); | ||
100 | + oa.start(); | ||
101 | + } | ||
102 | + } | ||
103 | + break; | ||
104 | + | ||
105 | + } | ||
106 | + //如果是拖拽则消s耗事件,否则正常传递即可。!isNotDrag() || super.onTouchEvent(event); | ||
107 | + return true; | ||
108 | + } | ||
109 | + | ||
110 | + private boolean isNotDrag() { | ||
111 | + return !isDrag && (getX() == 0 | ||
112 | + || (getX() == parentWidth - getWidth())); | ||
113 | + } | ||
114 | + | ||
115 | +} |
593 Bytes
@@ -0,0 +1,15 @@ | @@ -0,0 +1,15 @@ | ||
1 | +<?xml version="1.0" encoding="utf-8"?> | ||
2 | +<selector xmlns:android="http://schemas.android.com/apk/res/android"> | ||
3 | + <item android:state_focused="true"> | ||
4 | + <color android:color="#DFDFDF" /> | ||
5 | + </item> | ||
6 | + <item android:state_pressed="true"> | ||
7 | + <color android:color="#DFDFDF" /> | ||
8 | + </item> | ||
9 | + <item android:state_selected="true"> | ||
10 | + <color android:color="#DFDFDF" /> | ||
11 | + </item> | ||
12 | + <item > | ||
13 | + <color android:color="#ffffff" /> | ||
14 | + </item> | ||
15 | +</selector> | ||
0 | \ No newline at end of file | 16 | \ No newline at end of file |
@@ -0,0 +1,9 @@ | @@ -0,0 +1,9 @@ | ||
1 | +<?xml version="1.0" encoding="utf-8"?> | ||
2 | +<shape xmlns:android="http://schemas.android.com/apk/res/android"> | ||
3 | + | ||
4 | + <corners android:radius="@dimen/textSize20"/> | ||
5 | + | ||
6 | + <stroke android:color="@color/huodong_blue" | ||
7 | + android:width="@dimen/size_dp_1"/> | ||
8 | + | ||
9 | +</shape> | ||
0 | \ No newline at end of file | 10 | \ No newline at end of file |
@@ -0,0 +1,7 @@ | @@ -0,0 +1,7 @@ | ||
1 | +<?xml version="1.0" encoding="utf-8"?> | ||
2 | +<shape xmlns:android="http://schemas.android.com/apk/res/android"> | ||
3 | + | ||
4 | + <solid android:color="@color/huodong_blue"/> | ||
5 | + <corners android:radius="@dimen/size_dp_20"/> | ||
6 | + | ||
7 | +</shape> | ||
0 | \ No newline at end of file | 8 | \ No newline at end of file |
@@ -0,0 +1,7 @@ | @@ -0,0 +1,7 @@ | ||
1 | +<?xml version="1.0" encoding="utf-8"?> | ||
2 | +<shape xmlns:android="http://schemas.android.com/apk/res/android"> | ||
3 | + | ||
4 | + <stroke android:width="0.5dp" android:color="@color/gray"/> | ||
5 | + <corners android:radius="@dimen/size_dp_8"/> | ||
6 | + | ||
7 | +</shape> | ||
0 | \ No newline at end of file | 8 | \ No newline at end of file |
app/src/main/res/layout/fragment_ce_ping.xml
@@ -289,8 +289,11 @@ | @@ -289,8 +289,11 @@ | ||
289 | android:layout_gravity="bottom|right" | 289 | android:layout_gravity="bottom|right" |
290 | android:layout_marginBottom="@dimen/size_dp_30" | 290 | android:layout_marginBottom="@dimen/size_dp_30" |
291 | android:layout_marginRight="@dimen/size_dp_30" | 291 | android:layout_marginRight="@dimen/size_dp_30" |
292 | - app:backgroundTint="@color/xueqing_blue" | 292 | + android:scaleType="center" |
293 | + app:backgroundTint="@color/bg_gray_pressed" | ||
293 | app:rippleColor="@color/xueqing_blue" | 294 | app:rippleColor="@color/xueqing_blue" |
294 | app:fabSize="normal" | 295 | app:fabSize="normal" |
296 | + app:borderWidth="@dimen/size_dp_2" | ||
297 | + app:elevation="@dimen/size_dp_10" | ||
295 | android:src="@drawable/guanlianchild" /> | 298 | android:src="@drawable/guanlianchild" /> |
296 | </FrameLayout> | 299 | </FrameLayout> |
app/src/main/res/layout/fragment_report.xml
@@ -30,11 +30,13 @@ | @@ -30,11 +30,13 @@ | ||
30 | android:layout_gravity="center_vertical" | 30 | android:layout_gravity="center_vertical" |
31 | android:layout_weight="1" | 31 | android:layout_weight="1" |
32 | android:gravity="center_horizontal" | 32 | android:gravity="center_horizontal" |
33 | + android:id="@+id/tvDate" | ||
33 | android:text="2018年3月" | 34 | android:text="2018年3月" |
34 | - android:textColor="@color/textColor" | ||
35 | - android:textSize="@dimen/textSize16" /> | 35 | + android:textColor="@color/white" |
36 | + android:textSize="@dimen/textSize18" /> | ||
36 | 37 | ||
37 | <TextView | 38 | <TextView |
39 | + android:id="@+id/tvShaiXuan" | ||
38 | android:layout_width="wrap_content" | 40 | android:layout_width="wrap_content" |
39 | android:layout_height="wrap_content" | 41 | android:layout_height="wrap_content" |
40 | android:layout_gravity="center_vertical" | 42 | android:layout_gravity="center_vertical" |
app/src/main/res/layout/item_report.xml
@@ -3,9 +3,9 @@ | @@ -3,9 +3,9 @@ | ||
3 | android:layout_width="match_parent" | 3 | android:layout_width="match_parent" |
4 | android:layout_height="match_parent"> | 4 | android:layout_height="match_parent"> |
5 | 5 | ||
6 | - <LinearLayout | ||
7 | - android:layout_marginTop="@dimen/size_dp_10" | 6 | + <LinearLayout |
8 | android:layout_width="match_parent" | 7 | android:layout_width="match_parent" |
8 | + android:layout_marginTop="@dimen/size_dp_10" | ||
9 | android:layout_height="250dp" | 9 | android:layout_height="250dp" |
10 | android:background="@drawable/report_white" | 10 | android:background="@drawable/report_white" |
11 | android:orientation="vertical"> | 11 | android:orientation="vertical"> |
@@ -20,7 +20,7 @@ | @@ -20,7 +20,7 @@ | ||
20 | android:textColor="#20519f" | 20 | android:textColor="#20519f" |
21 | android:textSize="@dimen/sp_16" /> | 21 | android:textSize="@dimen/sp_16" /> |
22 | 22 | ||
23 | - <RelativeLayout | 23 | + <RelativeLayout |
24 | android:layout_width="match_parent" | 24 | android:layout_width="match_parent" |
25 | android:layout_height="wrap_content" | 25 | android:layout_height="wrap_content" |
26 | android:layout_weight="1" | 26 | android:layout_weight="1" |
@@ -52,10 +52,10 @@ | @@ -52,10 +52,10 @@ | ||
52 | <LinearLayout | 52 | <LinearLayout |
53 | android:layout_width="wrap_content" | 53 | android:layout_width="wrap_content" |
54 | android:layout_height="match_parent" | 54 | android:layout_height="match_parent" |
55 | - android:layout_centerInParent="true" | ||
56 | android:layout_weight="1" | 55 | android:layout_weight="1" |
57 | - android:gravity="center_horizontal"> | ||
58 | - | 56 | + android:layout_centerInParent="true" |
57 | + android:gravity="center_horizontal" | ||
58 | + > | ||
59 | <com.shunzhi.parent.views.ProgressView | 59 | <com.shunzhi.parent.views.ProgressView |
60 | android:id="@+id/ring" | 60 | android:id="@+id/ring" |
61 | android:layout_width="160dp" | 61 | android:layout_width="160dp" |
@@ -66,8 +66,8 @@ | @@ -66,8 +66,8 @@ | ||
66 | <LinearLayout | 66 | <LinearLayout |
67 | android:layout_width="80dp" | 67 | android:layout_width="80dp" |
68 | android:layout_height="match_parent" | 68 | android:layout_height="match_parent" |
69 | - android:layout_alignParentRight="true" | ||
70 | android:layout_marginTop="10dp" | 69 | android:layout_marginTop="10dp" |
70 | + android:layout_alignParentRight="true" | ||
71 | android:orientation="vertical"> | 71 | android:orientation="vertical"> |
72 | 72 | ||
73 | <TextView | 73 | <TextView |
app/src/main/res/layout/layout_consult_content.xml
@@ -62,6 +62,7 @@ | @@ -62,6 +62,7 @@ | ||
62 | </LinearLayout> | 62 | </LinearLayout> |
63 | 63 | ||
64 | <ImageView | 64 | <ImageView |
65 | + android:layout_margin="@dimen/size_dp_2" | ||
65 | android:id="@+id/iv_consult" | 66 | android:id="@+id/iv_consult" |
66 | android:layout_width="0dp" | 67 | android:layout_width="0dp" |
67 | android:layout_height="match_parent" | 68 | android:layout_height="match_parent" |
@@ -0,0 +1,90 @@ | @@ -0,0 +1,90 @@ | ||
1 | +<?xml version="1.0" encoding="utf-8"?> | ||
2 | +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
3 | + android:layout_width="match_parent" | ||
4 | + android:layout_height="wrap_content" | ||
5 | + android:orientation="vertical" | ||
6 | + android:padding="@dimen/size_dp_10" | ||
7 | + android:layout_marginTop="@dimen/size_dp_10" | ||
8 | + android:background="@color/white" | ||
9 | + > | ||
10 | + | ||
11 | +<LinearLayout | ||
12 | + android:layout_width="match_parent" | ||
13 | + android:layout_height="wrap_content"> | ||
14 | + | ||
15 | + | ||
16 | + <TextView | ||
17 | + android:layout_gravity="center_horizontal" | ||
18 | + android:layout_width="@dimen/size_dp_60" | ||
19 | + android:textSize="@dimen/textSize16" | ||
20 | + android:text="@string/report" | ||
21 | + android:textStyle="bold" | ||
22 | + android:textColor="@color/textColor" | ||
23 | + android:layout_height="wrap_content" /> | ||
24 | + | ||
25 | + <com.huxq17.handygridview.HandyGridView | ||
26 | + android:layout_marginLeft="@dimen/size_dp_10" | ||
27 | + android:layout_width="match_parent" | ||
28 | + android:layout_height="wrap_content" | ||
29 | + android:id="@+id/handyGridView" | ||
30 | + android:numColumns="3" | ||
31 | + android:horizontalSpacing="@dimen/size_dp_15" | ||
32 | + android:verticalSpacing="@dimen/size_dp_15" | ||
33 | + android:gravity="center" | ||
34 | + android:background="@color/white" | ||
35 | + ></com.huxq17.handygridview.HandyGridView> | ||
36 | + | ||
37 | +</LinearLayout> | ||
38 | + | ||
39 | + | ||
40 | + <LinearLayout | ||
41 | + android:layout_marginTop="@dimen/size_dp_10" | ||
42 | + android:layout_marginBottom="@dimen/size_dp_10" | ||
43 | + android:focusable="true" | ||
44 | + android:focusableInTouchMode="true" | ||
45 | + android:gravity="center_vertical" | ||
46 | + android:layout_width="match_parent" | ||
47 | + android:layout_height="wrap_content"> | ||
48 | + | ||
49 | + | ||
50 | + <TextView | ||
51 | + android:layout_width="@dimen/size_dp_60" | ||
52 | + android:textSize="@dimen/textSize16" | ||
53 | + android:text="关键字" | ||
54 | + android:textStyle="bold" | ||
55 | + android:textColor="@color/textColor" | ||
56 | + android:layout_height="wrap_content" /> | ||
57 | + | ||
58 | + <EditText | ||
59 | + android:layout_width="match_parent" | ||
60 | + android:layout_height="wrap_content" | ||
61 | + android:hint="请输入要搜索的内容" | ||
62 | + android:textSize="@dimen/textSize14" | ||
63 | + android:textColor="@color/textColor" | ||
64 | + android:background="@drawable/shape_edit_radius4_balck" | ||
65 | + android:gravity="center" | ||
66 | + android:padding="@dimen/size_dp_5" | ||
67 | + android:layout_marginLeft="@dimen/size_dp_10" | ||
68 | + /> | ||
69 | + | ||
70 | + | ||
71 | + </LinearLayout> | ||
72 | + | ||
73 | + <TextView | ||
74 | + android:id="@+id/tvSubmit" | ||
75 | + android:layout_width="wrap_content" | ||
76 | + android:layout_height="wrap_content" | ||
77 | + android:textColor="@color/white" | ||
78 | + android:textSize="@dimen/textSize16" | ||
79 | + android:text="确定" | ||
80 | + android:paddingLeft="@dimen/size_dp_60" | ||
81 | + android:paddingRight="@dimen/size_dp_60" | ||
82 | + android:background="@drawable/shape_blue_select" | ||
83 | + android:paddingTop="@dimen/size_dp_5" | ||
84 | + android:paddingBottom="@dimen/size_dp_5" | ||
85 | + android:layout_gravity="center_horizontal" | ||
86 | + android:layout_marginTop="@dimen/size_dp_10" | ||
87 | + android:layout_marginBottom="@dimen/size_dp_10" | ||
88 | + /> | ||
89 | + | ||
90 | +</LinearLayout> | ||
0 | \ No newline at end of file | 91 | \ No newline at end of file |
app/src/main/res/values/dimens.xml
@@ -13,13 +13,13 @@ | @@ -13,13 +13,13 @@ | ||
13 | <dimen name="margin_only_txt">48dp</dimen> | 13 | <dimen name="margin_only_txt">48dp</dimen> |
14 | 14 | ||
15 | <!-- txtsize --> | 15 | <!-- txtsize --> |
16 | - <dimen name="txtsize_display1">34sp</dimen> | ||
17 | - <dimen name="txtsize_num">36sp</dimen> | ||
18 | - <dimen name="txtsize_headline">24sp</dimen> | ||
19 | - <dimen name="txtsize_title">20sp</dimen> | ||
20 | - <dimen name="txtsize_subhead">16sp</dimen> | ||
21 | - <dimen name="txtsize_body">14sp</dimen> | ||
22 | - <dimen name="txtsize_caption">12sp</dimen> | 16 | + <dimen name="txtsize_display1">34dp</dimen> |
17 | + <dimen name="txtsize_num">36dp</dimen> | ||
18 | + <dimen name="txtsize_headline">24dp</dimen> | ||
19 | + <dimen name="txtsize_title">20dp</dimen> | ||
20 | + <dimen name="txtsize_subhead">16dp</dimen> | ||
21 | + <dimen name="txtsize_body">14dp</dimen> | ||
22 | + <dimen name="txtsize_caption">12dp</dimen> | ||
23 | 23 | ||
24 | <!-- other size --> | 24 | <!-- other size --> |
25 | <dimen name="corner_radius">2dp</dimen> | 25 | <dimen name="corner_radius">2dp</dimen> |
@@ -41,7 +41,7 @@ | @@ -41,7 +41,7 @@ | ||
41 | 41 | ||
42 | <dimen name="sp_12">12sp</dimen> | 42 | <dimen name="sp_12">12sp</dimen> |
43 | <dimen name="sp_14">14sp</dimen> | 43 | <dimen name="sp_14">14sp</dimen> |
44 | - <dimen name="sp_16">16sp</dimen> | 44 | + <dimen name="sp_16">16dp</dimen> |
45 | <dimen name="sp_18">18sp</dimen> | 45 | <dimen name="sp_18">18sp</dimen> |
46 | 46 | ||
47 | <dimen name="textSize10">10dp</dimen> | 47 | <dimen name="textSize10">10dp</dimen> |
mvpsdk/build.gradle
@@ -113,6 +113,9 @@ dependencies { | @@ -113,6 +113,9 @@ dependencies { | ||
113 | //日历控件 | 113 | //日历控件 |
114 | compile 'com.github.idic779:monthweekmaterialcalendarview:1.7' | 114 | compile 'com.github.idic779:monthweekmaterialcalendarview:1.7' |
115 | 115 | ||
116 | + //标签拖动排序 | ||
117 | + compile 'com.huxq17.handygridview:handygridview:1.1.0' | ||
118 | + | ||
116 | //悬浮窗 | 119 | //悬浮窗 |
117 | // compile 'com.github.yhaolpz:FloatWindow:1.0.8' | 120 | // compile 'com.github.yhaolpz:FloatWindow:1.0.8' |
118 | 121 |
mvpsdk/src/main/res/values/strings.xml
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | <string name="loading">Loading……</string> | 4 | <string name="loading">Loading……</string> |
5 | <string name="load_failed">Load failed. Please click me again</string> | 5 | <string name="load_failed">Load failed. Please click me again</string> |
6 | <string name="press_again">Press again to exit</string> | 6 | <string name="press_again">Press again to exit</string> |
7 | - | 7 | +<string name="report">报告</string> |
8 | <!--历史数据界面--> | 8 | <!--历史数据界面--> |
9 | <string name="history_day">Day</string> | 9 | <string name="history_day">Day</string> |
10 | <string name="history_week">Week</string> | 10 | <string name="history_week">Week</string> |