diff --git a/src/.gradle/5.6.4/fileChanges/last-build.bin b/src/.gradle/5.6.4/fileChanges/last-build.bin deleted file mode 100644 index f76dd23..0000000 Binary files a/src/.gradle/5.6.4/fileChanges/last-build.bin and /dev/null differ diff --git a/src/.gradle/5.6.4/fileHashes/fileHashes.bin b/src/.gradle/5.6.4/fileHashes/fileHashes.bin deleted file mode 100644 index 5ac2f71..0000000 Binary files a/src/.gradle/5.6.4/fileHashes/fileHashes.bin and /dev/null differ diff --git a/src/.gradle/5.6.4/fileHashes/fileHashes.lock b/src/.gradle/5.6.4/fileHashes/fileHashes.lock deleted file mode 100644 index 4c4c9e9..0000000 Binary files a/src/.gradle/5.6.4/fileHashes/fileHashes.lock and /dev/null differ diff --git a/src/.gradle/5.6.4/gc.properties b/src/.gradle/5.6.4/gc.properties deleted file mode 100644 index e69de29..0000000 diff --git a/src/.gradle/6.4.1/executionHistory/executionHistory.bin b/src/.gradle/6.4.1/executionHistory/executionHistory.bin index a0fc6c8..8cb476b 100644 Binary files a/src/.gradle/6.4.1/executionHistory/executionHistory.bin and b/src/.gradle/6.4.1/executionHistory/executionHistory.bin differ diff --git a/src/.gradle/6.4.1/executionHistory/executionHistory.lock b/src/.gradle/6.4.1/executionHistory/executionHistory.lock index 474b06f..c801296 100644 Binary files a/src/.gradle/6.4.1/executionHistory/executionHistory.lock and b/src/.gradle/6.4.1/executionHistory/executionHistory.lock differ diff --git a/src/.gradle/6.4.1/fileHashes/fileHashes.bin b/src/.gradle/6.4.1/fileHashes/fileHashes.bin index b256875..0bc66a8 100644 Binary files a/src/.gradle/6.4.1/fileHashes/fileHashes.bin and b/src/.gradle/6.4.1/fileHashes/fileHashes.bin differ diff --git a/src/.gradle/6.4.1/fileHashes/fileHashes.lock b/src/.gradle/6.4.1/fileHashes/fileHashes.lock index e681b38..4dded7f 100644 Binary files a/src/.gradle/6.4.1/fileHashes/fileHashes.lock and b/src/.gradle/6.4.1/fileHashes/fileHashes.lock differ diff --git a/src/.gradle/6.4.1/fileHashes/resourceHashesCache.bin b/src/.gradle/6.4.1/fileHashes/resourceHashesCache.bin index f625d62..b1fff80 100644 Binary files a/src/.gradle/6.4.1/fileHashes/resourceHashesCache.bin and b/src/.gradle/6.4.1/fileHashes/resourceHashesCache.bin differ diff --git a/src/.gradle/6.4.1/javaCompile/classAnalysis.bin b/src/.gradle/6.4.1/javaCompile/classAnalysis.bin index 2874f4b..13ab6ea 100644 Binary files a/src/.gradle/6.4.1/javaCompile/classAnalysis.bin and b/src/.gradle/6.4.1/javaCompile/classAnalysis.bin differ diff --git a/src/.gradle/6.4.1/javaCompile/jarAnalysis.bin b/src/.gradle/6.4.1/javaCompile/jarAnalysis.bin index 391114e..bffbb03 100644 Binary files a/src/.gradle/6.4.1/javaCompile/jarAnalysis.bin and b/src/.gradle/6.4.1/javaCompile/jarAnalysis.bin differ diff --git a/src/.gradle/6.4.1/javaCompile/javaCompile.lock b/src/.gradle/6.4.1/javaCompile/javaCompile.lock index a5eab79..fb3af73 100644 Binary files a/src/.gradle/6.4.1/javaCompile/javaCompile.lock and b/src/.gradle/6.4.1/javaCompile/javaCompile.lock differ diff --git a/src/.gradle/6.4.1/javaCompile/taskHistory.bin b/src/.gradle/6.4.1/javaCompile/taskHistory.bin index 373e27c..ea97988 100644 Binary files a/src/.gradle/6.4.1/javaCompile/taskHistory.bin and b/src/.gradle/6.4.1/javaCompile/taskHistory.bin differ diff --git a/src/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/src/.gradle/buildOutputCleanup/buildOutputCleanup.lock index fe6ebbc..acdc9ad 100644 Binary files a/src/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/src/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/src/BasicData/Nutrition.xlsx b/src/BasicData/Nutrition.xlsx index 9ee6b9d..067d9f0 100644 Binary files a/src/BasicData/Nutrition.xlsx and b/src/BasicData/Nutrition.xlsx differ diff --git a/src/app/build.gradle b/src/app/build.gradle index 431696c..51690c1 100644 --- a/src/app/build.gradle +++ b/src/app/build.gradle @@ -10,12 +10,12 @@ android { versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } - buildTypes { +/* buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } - } + }*/ } dependencies { diff --git a/src/app/src/main/AndroidManifest.xml b/src/app/src/main/AndroidManifest.xml index c396b33..412bda6 100644 --- a/src/app/src/main/AndroidManifest.xml +++ b/src/app/src/main/AndroidManifest.xml @@ -37,7 +37,7 @@ + android:label="航吃Hang吃"> @@ -50,6 +50,7 @@ + \ No newline at end of file diff --git a/src/app/src/main/java/com/sbw/atrue/Order/Activity/CustomHorizontalProgres.java b/src/app/src/main/java/com/sbw/atrue/Order/Activity/CustomHorizontalProgres.java new file mode 100644 index 0000000..e134470 --- /dev/null +++ b/src/app/src/main/java/com/sbw/atrue/Order/Activity/CustomHorizontalProgres.java @@ -0,0 +1,199 @@ +package com.sbw.atrue.Order.Activity; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Rect; +import android.graphics.RectF; +import android.util.AttributeSet; +import android.util.TypedValue; +import android.widget.ProgressBar; + +import com.sbw.atrue.Order.R; +/** + * Created by user on 2017-8-8. + * + * 直接继承ProgressBar可以实现进度额保存 + */ + +public class CustomHorizontalProgres extends ProgressBar{ + + //默认值 + private static final int DEAFUALT_PROGRESS_UNREACH_HEIGHH = 10;//dp + private static final int DEAFUALT_PROGRESS_UNREACH_CORLOR = 0xFFD3D6DA; + private static final int DEAFUALT_PROGRESS_REACH_HEIGHH = 10;//dp + private static final int DEAFUALT_PROGRESS_REACH_CORLOR = 0xFFFC00D1; + private static final int DEAFUALT_PROGRESS_TEXT_SIZE = 10;//sp + private static final int DEAFUALT_PROGRESS_TEXT_CORLOR = 0xFFD3D6DA; + private static final int DEAFUALT_PROGRESS_TEXT_OFFSET = 10;//dp + private static final int DEAFUALT_PROGRESS_VIEW_WIDTH = 200;//进度条默认宽度 + + private int HorizontalProgresUnReachColor;//不能用static修饰,不然多个View会共用此属性 + private int HorizontalProgresUnReachHeight; + private int HorizontalProgresReachColor; + private int HorizontalProgresReachHeight; + private int HorizontalProgresTextColor; + private int HorizontalProgresTextSize; + private int HorizontalProgresTextOffset; + + private Paint mPaint = new Paint(); + public CustomHorizontalProgres(Context context) { + this(context,null); + } + + public CustomHorizontalProgres(Context context, AttributeSet attrs) { + this(context,attrs,0); + } + + public CustomHorizontalProgres(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + geStyleabletAttr(attrs); + mPaint.setTextSize(HorizontalProgresTextSize);//设置画笔文字大小,便于后面测量文字宽高 + mPaint.setColor(HorizontalProgresTextColor); + } + + + /** + * 获取自定义属性 + */ + private void geStyleabletAttr(AttributeSet attrs) { + TypedArray typedArray = getContext().obtainStyledAttributes(attrs, R.styleable.CustomHorizontalProgresStyle); + HorizontalProgresUnReachColor = typedArray.getColor(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresUnReachColor,DEAFUALT_PROGRESS_UNREACH_CORLOR); + HorizontalProgresReachColor = typedArray.getColor(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresReachColor,DEAFUALT_PROGRESS_REACH_CORLOR); + //将sp、dp统一转换为sp + HorizontalProgresReachHeight = (int) typedArray.getDimension(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresReachHeight,dp2px(getContext(),DEAFUALT_PROGRESS_REACH_HEIGHH)); + HorizontalProgresUnReachHeight = (int) typedArray.getDimension(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresUnReachHeight,dp2px(getContext(),DEAFUALT_PROGRESS_UNREACH_HEIGHH)); + HorizontalProgresTextColor = typedArray.getColor(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresTextColor,DEAFUALT_PROGRESS_TEXT_CORLOR); + HorizontalProgresTextSize = (int) typedArray.getDimension(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresTextSize,sp2px(getContext(),DEAFUALT_PROGRESS_TEXT_SIZE)); + HorizontalProgresTextOffset = (int) typedArray.getDimension(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresTextOffset,DEAFUALT_PROGRESS_TEXT_OFFSET); + typedArray.recycle();//记得加这句 + /*TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.这里就说自定义属性分类的名字); + int textColor = a.getColor(R.styleable.属性分类名_属性名, 默认值); + 链接:https://www.jianshu.com/p/8d388894d9e9*/ + } + + @Override + protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + int width = measureWidth(widthMeasureSpec);//计算宽高 + int height = measureHeight(heightMeasureSpec); + setMeasuredDimension(width,height);//设置宽高 + } + + @Override + protected synchronized void onDraw(Canvas canvas) { + super.onDraw(canvas); + + canvas.save();//save、restore 图层的保存和回滚相关的方法 详见 http://blog.csdn.net/tianjian4592/article/details/45234419 + canvas.translate(0,getHeight()/2);//移动图层到垂直居中位置 + float radio = getProgress()*1.0f/getMax(); + int textWidth = (int) mPaint.measureText(getProgress()+"%");//The width of the text + float realWidth = getWidth() - getPaddingLeft() - getPaddingRight() - textWidth - HorizontalProgresTextOffset;//实际宽度减去文字宽度 + float progressX = radio * realWidth ; + //绘制走完的进度线 + mPaint.setColor(HorizontalProgresReachColor); + mPaint.setStrokeWidth(HorizontalProgresReachHeight); + //canvas.drawLine(getPaddingLeft(),getPaddingTop(),progressX,getPaddingTop(),mPaint);//直角 垂直在同一高度 float startY, float stopY 一样 + RectF mRectF = new RectF(getPaddingLeft(),getPaddingTop()-HorizontalProgresReachHeight/2,(int)progressX,HorizontalProgresReachHeight/2);//圆角 int left, int top, int right, int bottom + canvas.drawRoundRect(mRectF,15,15,mPaint);//圆角矩形 + //绘制进度 + mPaint.setColor(HorizontalProgresTextColor); + mPaint.setTextSize(HorizontalProgresTextSize); + int y = (int) -((mPaint.descent() + mPaint.ascent())/2);//文字居中 + canvas.drawText(getProgress()+"%",progressX + HorizontalProgresTextOffset/2,getPaddingTop() + y,mPaint); + //绘制未做走完的进度 + if (progressX + HorizontalProgresTextOffset + textWidth < getWidth() - getPaddingLeft() - getPaddingRight()){//进度走完了,不再画未走完的 + mPaint.setColor(HorizontalProgresUnReachColor); + mPaint.setStrokeWidth(HorizontalProgresUnReachHeight); + //canvas.drawLine(getPaddingLeft()+progressX + HorizontalProgresTextOffset + textWidth,getPaddingTop(),getWidth() - getPaddingLeft() - getPaddingRight() ,getPaddingTop(),mPaint);//垂直在同一高度 float startY, float stopY 一样 + RectF mRectF2 = new RectF(getPaddingLeft()+progressX + HorizontalProgresTextOffset + textWidth,getPaddingTop()-HorizontalProgresUnReachHeight/2,getWidth() - getPaddingLeft() - getPaddingRight(),HorizontalProgresUnReachHeight/2);//圆角 int left, int top, int right, int bottom + canvas.drawRoundRect(mRectF2,15,15,mPaint);//圆角矩形 + } + canvas.restore(); + } + + /** + * dp转px + * + * @param context + * @param dpVal + * @return + */ + public static int dp2px(Context context, float dpVal) + { + return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, + dpVal, context.getResources().getDisplayMetrics()); + } + + /** + * sp转px + * + * @param context + * @param spVal + * @return + */ + public static int sp2px(Context context, float spVal) + { + return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, + spVal, context.getResources().getDisplayMetrics()); + } + + + + /** + * Determines the width of this view + * @param measureSpec A measureSpec packed into an int + * @return The width of the view, honoring constraints from measureSpec + */ + private int measureWidth(int measureSpec) { + int result = 0; + int specMode = MeasureSpec.getMode(measureSpec); + int specSize = MeasureSpec.getSize(measureSpec); + + if (specMode == MeasureSpec.EXACTLY) { + // We were told how big to be + result = specSize; + } else { + // Measure the text + result = dp2px(getContext(),DEAFUALT_PROGRESS_VIEW_WIDTH);// + if (specMode == MeasureSpec.AT_MOST) { + // Respect AT_MOST value if that was what is called for by measureSpec + result = Math.min(result, specSize); + } + } + + return result; + } + + /** + * Determines the height of this view + * @param measureSpec A measureSpec packed into an int + * @return The height of the view, honoring constraints from measureSpec + */ + private int measureHeight(int measureSpec) { + int result = 0; + int specMode = MeasureSpec.getMode(measureSpec); + int specSize = MeasureSpec.getSize(measureSpec); + + if (specMode == MeasureSpec.EXACTLY) { + // We were told how big to be + result = specSize; + } else { + // Measure the text (beware: ascent is a negative number) + //此处高度为走完的进度高度和未走完的机大以及文字的高度的最大值 + int textHeight = (int) (mPaint.descent() - mPaint.ascent());//得到字的高度有二种方式,第一种是React,第二种这个 + result = Math.max(textHeight,Math.max(HorizontalProgresReachHeight,HorizontalProgresUnReachHeight)) + getPaddingTop() + + getPaddingBottom(); + if (specMode == MeasureSpec.AT_MOST) { + // Respect AT_MOST value if that was what is called for by measureSpec + result = Math.min(result, specSize); + } + } + return result; + } + + + +} + diff --git a/src/app/src/main/java/com/sbw/atrue/Order/Activity/CustomHorizontalProgresNoNum.java b/src/app/src/main/java/com/sbw/atrue/Order/Activity/CustomHorizontalProgresNoNum.java new file mode 100644 index 0000000..36b3932 --- /dev/null +++ b/src/app/src/main/java/com/sbw/atrue/Order/Activity/CustomHorizontalProgresNoNum.java @@ -0,0 +1,209 @@ +package com.sbw.atrue.Order.Activity; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Path; +import android.graphics.RectF; +import android.util.AttributeSet; +import android.util.TypedValue; +import android.widget.ProgressBar; + +import com.sbw.atrue.Order.R; + +//import practice.csy.com.customprogress.R; + +/** + * Created by user on 2017-8-8. + *

+ * 直接继承ProgressBar可以实现进度额保存 + *

+ * 不带数字进度 + */ + +public class CustomHorizontalProgresNoNum extends ProgressBar { + + //默认值 + private static final int DEAFUALT_PROGRESS_UNREACH_HEIGHH = 10;//dp + protected static final int DEAFUALT_PROGRESS_UNREACH_CORLOR = 0xFFD3D6DA; + private static final int DEAFUALT_PROGRESS_REACH_HEIGHH = 10;//dp + protected static final int DEAFUALT_PROGRESS_REACH_CORLOR = 0xFFFC00D1; + protected static final int DEAFUALT_PROGRESS_TEXT_SIZE = 10;//sp + protected static final int DEAFUALT_PROGRESS_TEXT_CORLOR = 0xFFD3D6DA; + protected static final int DEAFUALT_PROGRESS_TEXT_OFFSET = 10;//dp + private static final int DEAFUALT_PROGRESS_VIEW_WIDTH = 200;//进度条默认宽度 + + protected int HorizontalProgresUnReachColor;//不能用static修饰,不然多个View会共用此属性 + private int HorizontalProgresUnReachHeight; + protected int HorizontalProgresReachColor; + private int HorizontalProgresReachHeight; + protected int HorizontalProgresTextColor; + protected int HorizontalProgresTextSize; + protected int HorizontalProgresTextOffset; + + protected Paint mPaint = new Paint(); + //protected float[] rids = {15.0f, 15.0f, 15.0f, 15.0f, 0.0f, 0.0f, 0.0f, 0.0f,}; 上面圆角 + + protected Path path; + protected float[] rids = {15.0f, 15.0f, 15.0f, 15.0f, 15.0f, 15.0f, 15.0f, 15.0f,};//四个角都圆角 + public CustomHorizontalProgresNoNum(Context context) { + this(context, null); + } + + public CustomHorizontalProgresNoNum(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public CustomHorizontalProgresNoNum(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + getStyleabletAttr(attrs); + mPaint.setTextSize(HorizontalProgresTextSize);//设置画笔文字大小,便于后面测量文字宽高 + mPaint.setColor(HorizontalProgresTextColor); + path = new Path(); + + } + + + /** + * 获取自定义属性 + */ + protected void getStyleabletAttr(AttributeSet attrs) { + TypedArray typedArray = getContext().obtainStyledAttributes(attrs, R.styleable.CustomHorizontalProgresStyle); + HorizontalProgresUnReachColor = typedArray.getColor(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresUnReachColor, DEAFUALT_PROGRESS_UNREACH_CORLOR); + HorizontalProgresReachColor = typedArray.getColor(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresReachColor, DEAFUALT_PROGRESS_REACH_CORLOR); + //将sp、dp统一转换为sp + HorizontalProgresReachHeight = (int) typedArray.getDimension(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresReachHeight, dp2px(getContext(), DEAFUALT_PROGRESS_REACH_HEIGHH)); + HorizontalProgresUnReachHeight = (int) typedArray.getDimension(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresUnReachHeight, dp2px(getContext(), DEAFUALT_PROGRESS_UNREACH_HEIGHH)); + HorizontalProgresTextColor = typedArray.getColor(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresTextColor, DEAFUALT_PROGRESS_TEXT_CORLOR); + HorizontalProgresTextSize = (int) typedArray.getDimension(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresTextSize, sp2px(getContext(), DEAFUALT_PROGRESS_TEXT_SIZE)); + HorizontalProgresTextOffset = (int) typedArray.getDimension(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresTextOffset, DEAFUALT_PROGRESS_TEXT_OFFSET); + typedArray.recycle();//记得加这句 + } + + @Override + protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + int width = measureWidth(widthMeasureSpec);//计算宽高 + int height = measureHeight(heightMeasureSpec); + setMeasuredDimension(width, height);//设置宽高 + } + + @Override + protected synchronized void onDraw(Canvas canvas) { + super.onDraw(canvas); + + canvas.save();//save、restore 图层的保存和回滚相关的方法 详见 http://blog.csdn.net/tianjian4592/article/details/45234419 + canvas.translate(0, getHeight() / 2);//移动图层到垂直居中位置 + + + float radio = getProgress() * 1.0f / getMax(); + float realWidth = getWidth() - getPaddingLeft() - getPaddingRight();//实际宽度减去文字宽度 + float progressX = radio * realWidth; + + /*向路径中添加圆角矩形。radii数组定义圆角矩形的四个圆角的x,y半径。radii长度必须为8*/ + path.addRoundRect(new RectF(getPaddingLeft(),getPaddingTop()-HorizontalProgresReachHeight/2,realWidth,HorizontalProgresReachHeight/2), rids, Path.Direction.CW); + canvas.clipPath(path); + + //绘制走完的进度线 + mPaint.setColor(HorizontalProgresReachColor); + mPaint.setStrokeWidth(HorizontalProgresReachHeight); + //canvas.drawLine(getPaddingLeft(), getPaddingTop(), progressX, getPaddingTop(), mPaint);//直角 垂直在同一高度 float startY, float stopY 一样 + RectF mRectF = new RectF(getPaddingLeft(),getPaddingTop()-HorizontalProgresReachHeight/2,(int)progressX,HorizontalProgresReachHeight/2);//圆角 int left, int top, int right, int bottom + canvas.drawRoundRect(mRectF,0,0,mPaint);//圆角矩形 + + //绘制未做走完的进度 + if (progressX < getWidth() - getPaddingLeft() - getPaddingRight()) {//进度走完了,不再画未走完的 + mPaint.setColor(HorizontalProgresUnReachColor); + mPaint.setStrokeWidth(HorizontalProgresUnReachHeight); + //canvas.drawLine(progressX, getPaddingTop(), getWidth() - getPaddingLeft() - getPaddingRight(), getPaddingTop(), mPaint);//垂直在同一高度 float startY, float stopY 一样 + RectF mRectF2 = new RectF(progressX - 15 ,getPaddingTop()-HorizontalProgresUnReachHeight/2,realWidth,HorizontalProgresUnReachHeight/2);//圆角 int left, int top, int right, int bottom + canvas.drawRoundRect(mRectF2,0,0,mPaint);//圆角矩形 + } + canvas.restore(); + + + } + + /** + * dp转px + * + * @param context + * @param dpVal + * @return + */ + public static int dp2px(Context context, float dpVal) { + return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, + dpVal, context.getResources().getDisplayMetrics()); + } + + /** + * sp转px + * + * @param context + * @param spVal + * @return + */ + public static int sp2px(Context context, float spVal) { + return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, + spVal, context.getResources().getDisplayMetrics()); + } + + + /** + * Determines the width of this view + * + * @param measureSpec A measureSpec packed into an int + * @return The width of the view, honoring constraints from measureSpec + */ + protected int measureWidth(int measureSpec) { + int result = 0; + int specMode = MeasureSpec.getMode(measureSpec); + int specSize = MeasureSpec.getSize(measureSpec); + + if (specMode == MeasureSpec.EXACTLY) { + // We were told how big to be + result = specSize; + } else { + // Measure the text + result = dp2px(getContext(), DEAFUALT_PROGRESS_VIEW_WIDTH);// + if (specMode == MeasureSpec.AT_MOST) { + // Respect AT_MOST value if that was what is called for by measureSpec + result = Math.min(result, specSize); + } + } + + return result; + } + + /** + * Determines the height of this view + * + * @param measureSpec A measureSpec packed into an int + * @return The height of the view, honoring constraints from measureSpec + */ + protected int measureHeight(int measureSpec) { + int result = 0; + int specMode = MeasureSpec.getMode(measureSpec); + int specSize = MeasureSpec.getSize(measureSpec); + + if (specMode == MeasureSpec.EXACTLY) { + // We were told how big to be + result = specSize; + } else { + // Measure the text (beware: ascent is a negative number) + //此处高度为走完的进度高度和未走完的机大以及文字的高度的最大值 + int textHeight = (int) (mPaint.descent() - mPaint.ascent());//得到字的高度有二种方式,第一种是React,第二种这个 + result = Math.max(textHeight, Math.max(HorizontalProgresReachHeight, HorizontalProgresUnReachHeight)) + getPaddingTop() + + getPaddingBottom(); + if (specMode == MeasureSpec.AT_MOST) { + // Respect AT_MOST value if that was what is called for by measureSpec + result = Math.min(result, specSize); + } + } + return result; + } + + +} + diff --git a/src/app/src/main/java/com/sbw/atrue/Order/Activity/CustomHorizontalProgresWithNum.java b/src/app/src/main/java/com/sbw/atrue/Order/Activity/CustomHorizontalProgresWithNum.java new file mode 100644 index 0000000..eda07e6 --- /dev/null +++ b/src/app/src/main/java/com/sbw/atrue/Order/Activity/CustomHorizontalProgresWithNum.java @@ -0,0 +1,200 @@ +package com.sbw.atrue.Order.Activity; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.RectF; +import android.util.AttributeSet; +import android.util.TypedValue; +import android.widget.ProgressBar; + +import com.sbw.atrue.Order.R; + +//import practice.csy.com.customprogress.R; + +/** + * Created by user on 2017-8-8. + * + * 直接继承ProgressBar可以实现进度额保存 + * + * 带数字进度 + */ + +public class CustomHorizontalProgresWithNum extends ProgressBar{ + + //默认值 + private static final int DEAFUALT_PROGRESS_UNREACH_HEIGHH = 10;//dp + protected static final int DEAFUALT_PROGRESS_UNREACH_CORLOR = 0xFFD3D6DA; + protected static final int DEAFUALT_PROGRESS_REACH_HEIGHH = 10;//dp + protected static final int DEAFUALT_PROGRESS_REACH_CORLOR = 0xFFFC00D1; + protected static final int DEAFUALT_PROGRESS_TEXT_SIZE = 10;//sp + protected static final int DEAFUALT_PROGRESS_TEXT_CORLOR = 0xFFD3D6DA; + protected static final int DEAFUALT_PROGRESS_TEXT_OFFSET = 10;//dp + protected static final int DEAFUALT_PROGRESS_VIEW_WIDTH = 200;//进度条默认宽度 + + protected int HorizontalProgresUnReachColor;//不能用static修饰,不然多个View会共用此属性 + private int HorizontalProgresUnReachHeight; + protected int HorizontalProgresReachColor; + private int HorizontalProgresReachHeight; + protected int HorizontalProgresTextColor; + protected int HorizontalProgresTextSize; + protected int HorizontalProgresTextOffset; + + protected Paint mPaint = new Paint(); + public CustomHorizontalProgresWithNum(Context context) { + this(context,null); + } + + public CustomHorizontalProgresWithNum(Context context, AttributeSet attrs) { + this(context,attrs,0); + } + + public CustomHorizontalProgresWithNum(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + getStyleabletAttr(attrs); + mPaint.setTextSize(HorizontalProgresTextSize);//设置画笔文字大小,便于后面测量文字宽高 + mPaint.setColor(HorizontalProgresTextColor); + } + + + /** + * 获取自定义属性 + */ + protected void getStyleabletAttr(AttributeSet attrs) { + TypedArray typedArray = getContext().obtainStyledAttributes(attrs, R.styleable.CustomHorizontalProgresStyle); + HorizontalProgresUnReachColor = typedArray.getColor(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresUnReachColor,DEAFUALT_PROGRESS_UNREACH_CORLOR); + HorizontalProgresReachColor = typedArray.getColor(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresReachColor,DEAFUALT_PROGRESS_REACH_CORLOR); + //将sp、dp统一转换为sp + HorizontalProgresReachHeight = (int) typedArray.getDimension(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresReachHeight,dp2px(getContext(),DEAFUALT_PROGRESS_REACH_HEIGHH)); + HorizontalProgresUnReachHeight = (int) typedArray.getDimension(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresUnReachHeight,dp2px(getContext(),DEAFUALT_PROGRESS_UNREACH_HEIGHH)); + HorizontalProgresTextColor = typedArray.getColor(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresTextColor,DEAFUALT_PROGRESS_TEXT_CORLOR); + HorizontalProgresTextSize = (int) typedArray.getDimension(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresTextSize,sp2px(getContext(),DEAFUALT_PROGRESS_TEXT_SIZE)); + HorizontalProgresTextOffset = (int) typedArray.getDimension(R.styleable.CustomHorizontalProgresStyle_HorizontalProgresTextOffset,DEAFUALT_PROGRESS_TEXT_OFFSET); + typedArray.recycle();//记得加这句 + } + + @Override + protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + int width = measureWidth(widthMeasureSpec);//计算宽高 + int height = measureHeight(heightMeasureSpec); + setMeasuredDimension(width,height);//设置宽高 + } + + @Override + protected synchronized void onDraw(Canvas canvas) { + super.onDraw(canvas); + + canvas.save();//save、restore 图层的保存和回滚相关的方法 详见 http://blog.csdn.net/tianjian4592/article/details/45234419 + canvas.translate(0,getHeight()/2);//移动图层到垂直居中位置 + float radio = getProgress()*1.0f/getMax(); + int textWidth = (int) mPaint.measureText(getProgress()+"%");//The width of the text + float realWidth = getWidth() - getPaddingLeft() - getPaddingRight() - textWidth - HorizontalProgresTextOffset;//实际宽度减去文字宽度 + float progressX = radio * realWidth ; + //绘制走完的进度线 + mPaint.setColor(HorizontalProgresReachColor); + mPaint.setStrokeWidth(HorizontalProgresReachHeight); + //canvas.drawLine(getPaddingLeft(),getPaddingTop(),progressX,getPaddingTop(),mPaint);//直角 垂直在同一高度 float startY, float stopY 一样 + RectF mRectF = new RectF(getPaddingLeft(),getPaddingTop()-HorizontalProgresReachHeight/2,(int)progressX,HorizontalProgresReachHeight/2);//圆角 int left, int top, int right, int bottom + canvas.drawRoundRect(mRectF,15,15,mPaint);//圆角矩形 + //绘制进度 + mPaint.setColor(HorizontalProgresTextColor); + mPaint.setTextSize(HorizontalProgresTextSize); + int y = (int) -((mPaint.descent() + mPaint.ascent())/2);//文字居中 + canvas.drawText(getProgress()+"%",progressX + HorizontalProgresTextOffset/2,getPaddingTop() + y,mPaint); + //绘制未做走完的进度 + if (progressX + HorizontalProgresTextOffset + textWidth < getWidth() - getPaddingLeft() - getPaddingRight()){//进度走完了,不再画未走完的 + mPaint.setColor(HorizontalProgresUnReachColor); + mPaint.setStrokeWidth(HorizontalProgresUnReachHeight); + //canvas.drawLine(getPaddingLeft()+progressX + HorizontalProgresTextOffset + textWidth,getPaddingTop(),getWidth() - getPaddingLeft() - getPaddingRight() ,getPaddingTop(),mPaint);//垂直在同一高度 float startY, float stopY 一样 + RectF mRectF2 = new RectF(progressX + HorizontalProgresTextOffset + textWidth,getPaddingTop()-HorizontalProgresUnReachHeight/2,realWidth,HorizontalProgresUnReachHeight/2);//圆角 int left, int top, int right, int bottom + canvas.drawRoundRect(mRectF2,15,15,mPaint);//圆角矩形 + } + canvas.restore(); + } + + /** + * dp转px + * + * @param context + * @param dpVal + * @return + */ + public static int dp2px(Context context, float dpVal) + { + return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, + dpVal, context.getResources().getDisplayMetrics()); + } + + /** + * sp转px + * + * @param context + * @param spVal + * @return + */ + public static int sp2px(Context context, float spVal) + { + return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, + spVal, context.getResources().getDisplayMetrics()); + } + + + + /** + * Determines the width of this view + * @param measureSpec A measureSpec packed into an int + * @return The width of the view, honoring constraints from measureSpec + */ + protected int measureWidth(int measureSpec) { + int result = 0; + int specMode = MeasureSpec.getMode(measureSpec); + int specSize = MeasureSpec.getSize(measureSpec); + + if (specMode == MeasureSpec.EXACTLY) { + // We were told how big to be + result = specSize; + } else { + // Measure the text + result = dp2px(getContext(),DEAFUALT_PROGRESS_VIEW_WIDTH);// + if (specMode == MeasureSpec.AT_MOST) { + // Respect AT_MOST value if that was what is called for by measureSpec + result = Math.min(result, specSize); + } + } + + return result; + } + + /** + * Determines the height of this view + * @param measureSpec A measureSpec packed into an int + * @return The height of the view, honoring constraints from measureSpec + */ + protected int measureHeight(int measureSpec) { + int result = 0; + int specMode = MeasureSpec.getMode(measureSpec); + int specSize = MeasureSpec.getSize(measureSpec); + + if (specMode == MeasureSpec.EXACTLY) { + // We were told how big to be + result = specSize; + } else { + // Measure the text (beware: ascent is a negative number) + //此处高度为走完的进度高度和未走完的机大以及文字的高度的最大值 + int textHeight = (int) (mPaint.descent() - mPaint.ascent());//得到字的高度有二种方式,第一种是React,第二种这个 + result = Math.max(textHeight,Math.max(HorizontalProgresReachHeight,HorizontalProgresUnReachHeight)) + getPaddingTop() + + getPaddingBottom(); + if (specMode == MeasureSpec.AT_MOST) { + // Respect AT_MOST value if that was what is called for by measureSpec + result = Math.min(result, specSize); + } + } + return result; + } + + + +} + diff --git a/src/app/src/main/java/com/sbw/atrue/Order/Activity/FoodActivity.java b/src/app/src/main/java/com/sbw/atrue/Order/Activity/FoodActivity.java index 459f384..6c6bdf1 100644 --- a/src/app/src/main/java/com/sbw/atrue/Order/Activity/FoodActivity.java +++ b/src/app/src/main/java/com/sbw/atrue/Order/Activity/FoodActivity.java @@ -17,8 +17,6 @@ import com.sbw.atrue.Order.R; /** * ClassName: FoodActivity
* description: 用于加载展示菜品的详细信息的活动
- * author: 沈滨伟-13042299081
- * Date: 2019/2/18 20:59 */ public class FoodActivity extends AppCompatActivity { diff --git a/src/app/src/main/java/com/sbw/atrue/Order/Activity/InputActivity.java b/src/app/src/main/java/com/sbw/atrue/Order/Activity/InputActivity.java index 7f75e49..ef11e1f 100644 --- a/src/app/src/main/java/com/sbw/atrue/Order/Activity/InputActivity.java +++ b/src/app/src/main/java/com/sbw/atrue/Order/Activity/InputActivity.java @@ -59,30 +59,36 @@ public class InputActivity extends Activity { final String address = ettable.getText().toString(); //获取输入框中的桌号 final String name = etname.getText().toString(); //获取输入框中的客户姓名 final String phone = etPhone.getText().toString(); //获取输入框中的手机号 - if (!TextUtils.isEmpty(phone) + + Intent intent = new Intent(getApplicationContext(), SuccessActivity.class); //新建意图 + startActivity(intent); //跳转到购买成功页面 +// ShoppingActivity.mInstance.finish(); //结束购物界面 +// InputActivity.this.finish(); //结束信息输入界面 + + /* if (!TextUtils.isEmpty(phone) && !TextUtils.isEmpty(address) && phone.length() >= 7) { //手机号和地址不为空且手机号大于等于7位 - addOrder(selectedProducts, name, phone, address, new MyListener() { + *//* addOrder(selectedProducts, name, phone, address, new MyListener() { @Override public void onSuccess(String data) { Intent intent = new Intent(getApplicationContext(), SuccessActivity.class); //新建意图 - intent.putParcelableArrayListExtra("selectedProducts", selectedProducts); //给意图添加被选择的的商品数据 - intent.putExtra("name", name); //给意图设置客户姓名 +// intent.putParcelableArrayListExtra("selectedProducts", selectedProducts); //给意图添加被选择的的商品数据 + *//**//*intent.putExtra("name", name); //给意图设置客户姓名 intent.putExtra("phone", phone); //给意图设置联系电话 intent.putExtra("orderId", data); //给意图设置用餐桌号 - intent.putExtra("table", address); //给意图设置用餐桌号 + intent.putExtra("table", address); //给意图设置用餐桌号*//**//* startActivity(intent); //跳转到购买成功页面 ShoppingActivity.mInstance.finish(); //结束购物界面 InputActivity.this.finish(); //结束信息输入界面 } - }); + });*//* } else { //输入手机号或地址不正确 //Toast.makeText(InputActivity.this, "手机号或地址输入不正确,手机号至少7位", Toast.LENGTH_SHORT).show(); showDialog("手机号或地址输入不正确,手机号至少7位!"); - } + }*/ } }); } @@ -109,7 +115,7 @@ public class InputActivity extends Activity { @Override public void onSucceed(int what, Response response) { - JSONObject res = response.get(); + /* JSONObject res = response.get(); try { if (res.getInt("status") == 0) { literer.onSuccess(res.getString("data")); @@ -118,11 +124,12 @@ public class InputActivity extends Activity { } } catch (JSONException e) { e.printStackTrace(); - } + }*/ } @Override public void onFailed(int what, Response response) { + } @Override diff --git a/src/app/src/main/java/com/sbw/atrue/Order/Activity/LoginActivity.java b/src/app/src/main/java/com/sbw/atrue/Order/Activity/LoginActivity.java index 94031d1..c2975b6 100644 --- a/src/app/src/main/java/com/sbw/atrue/Order/Activity/LoginActivity.java +++ b/src/app/src/main/java/com/sbw/atrue/Order/Activity/LoginActivity.java @@ -30,8 +30,6 @@ import java.util.Map; /** * ClassName: LoginActivity
* description: 系统登录活动
- * author: 沈滨伟-13042299081
- * Date: 2019/2/18 14:54 */ public class LoginActivity extends AppCompatActivity { private EditText accountEdit; @@ -167,3 +165,5 @@ public class LoginActivity extends AppCompatActivity { alert.show(); } } + + diff --git a/src/app/src/main/java/com/sbw/atrue/Order/Activity/MyApplication.java b/src/app/src/main/java/com/sbw/atrue/Order/Activity/MyApplication.java index 3df505c..6479054 100644 --- a/src/app/src/main/java/com/sbw/atrue/Order/Activity/MyApplication.java +++ b/src/app/src/main/java/com/sbw/atrue/Order/Activity/MyApplication.java @@ -1,8 +1,11 @@ package com.sbw.atrue.Order.Activity; +import android.view.View; + import com.yanzhenjie.nohttp.InitializationConfig; import com.yanzhenjie.nohttp.NoHttp; import org.litepal.LitePalApplication; +import org.litepal.tablemanager.Connector; import org.litepal.util.Const; public class MyApplication extends LitePalApplication { @@ -10,12 +13,14 @@ public class MyApplication extends LitePalApplication { public void onCreate() {//可理解为我们之前的主函数 super.onCreate(); Connection.mymysql(); + InitializationConfig config = InitializationConfig.newBuilder(this) .connectionTimeout(30 * 1000) .readTimeout(30 * 1000) .retry(10) .build(); NoHttp.initialize(config); + } } /*public class MyApplication extends Application { diff --git a/src/app/src/main/java/com/sbw/atrue/Order/Activity/MyMoneyActivity.java b/src/app/src/main/java/com/sbw/atrue/Order/Activity/MyMoneyActivity.java index d025961..06af40f 100644 --- a/src/app/src/main/java/com/sbw/atrue/Order/Activity/MyMoneyActivity.java +++ b/src/app/src/main/java/com/sbw/atrue/Order/Activity/MyMoneyActivity.java @@ -23,8 +23,6 @@ import org.json.JSONObject; /** * FileName: MyMoneyActivity
* Description:
- * Author: 沈滨伟-13042299081
- * Date: 2019/4/12 16:51 */ public class MyMoneyActivity extends Activity { //账户余额显示文字控件 diff --git a/src/app/src/main/java/com/sbw/atrue/Order/Activity/NutritionActivity.java b/src/app/src/main/java/com/sbw/atrue/Order/Activity/NutritionActivity.java index a7afa62..2153322 100644 --- a/src/app/src/main/java/com/sbw/atrue/Order/Activity/NutritionActivity.java +++ b/src/app/src/main/java/com/sbw/atrue/Order/Activity/NutritionActivity.java @@ -1,5 +1,37 @@ package com.sbw.atrue.Order.Activity; + +import android.widget.Button; +import android.widget.EditText; +import android.widget.ListView; +import android.widget.TextView; + +import com.sbw.atrue.Order.Entity.Product; +import com.sbw.atrue.Order.R; +import com.sbw.atrue.Order.Util.ProductListAdapter; + +import java.util.ArrayList; +import java.util.List; + //健康结算界面 public class NutritionActivity { + public static NutritionActivity mInstance = null; //当前对象的实例本身 + + private ListView lvNutrition; //商品展示列表控件 + private TextView tvSelected; //已选择商品数量提示文字 + private TextView tvTotal; //已选择商品总价提示文字 + private Button btnTakeOrder; //下单按钮 + private Button btnSortByNew; //根据新品排序 + private Button btnSortBySale; //根据销量排序 + private Button btnSortByPrice; //根据价格排序 + private Button btnSortByAll; //根据综合情况排序 + private List productsData = new ArrayList(); //所有的商品数据 + private ArrayList selectedProducts = new ArrayList(); //被选择的的商品数据 + private ProductListAdapter productListAdapter; //商品列表适配器 +// private void initViews() { +// etname = (EditText) findViewById(R.id.et_name); +// etPhone = (EditText) findViewById(R.id.et_phone); +// ettable = (EditText) findViewById(R.id.et_table); +// btnInputCompleted = (Button) findViewById(R.id.btn_input_completed); +// } } diff --git a/src/app/src/main/java/com/sbw/atrue/Order/Activity/OrderActivity.java b/src/app/src/main/java/com/sbw/atrue/Order/Activity/OrderActivity.java index a114060..7c4c508 100644 --- a/src/app/src/main/java/com/sbw/atrue/Order/Activity/OrderActivity.java +++ b/src/app/src/main/java/com/sbw/atrue/Order/Activity/OrderActivity.java @@ -58,8 +58,6 @@ import java.util.List; /** * ClassName: OrderActivity
* description: 用于展示菜单的活动
- * author: 沈滨伟-13042299081
- * Date: 2019/2/18 21:03 */ public class OrderActivity extends AppCompatActivity { //从生产类中加载系统存储的菜单列表 @@ -283,8 +281,11 @@ public class OrderActivity extends AppCompatActivity { public void run() { //向菜单中增加新菜 if (first == 0) { - Food WanZi = new Food("牛肉丸", "R.drawable.wanzi", "牛肉丸是潮汕美食啊!!!"); + Food WanZi = new Food("牛肉汤", "R.drawable.wanzi", "南三 牛肉汤\n牛肉是山西平遥特产"); foodList.add(WanZi); + /* first = 1;*/ + Food bingzi = new Food("大饼", "R.drawable.bingzi", "北一一楼 大饼卷万物\n很多选择快来!"); + foodList.add(bingzi); first = 1; } //通知适配器数据发生了变化,用于RecycleView自动更新显示项 diff --git a/src/app/src/main/java/com/sbw/atrue/Order/Activity/SettingActivity.java b/src/app/src/main/java/com/sbw/atrue/Order/Activity/SettingActivity.java index 94909e1..7440ef2 100644 --- a/src/app/src/main/java/com/sbw/atrue/Order/Activity/SettingActivity.java +++ b/src/app/src/main/java/com/sbw/atrue/Order/Activity/SettingActivity.java @@ -23,8 +23,6 @@ import org.json.JSONObject; /** * FileName: SettingActivity
* Description:
- * Author: 沈滨伟-13042299081
- * Date: 2019/4/12 20:55 */ public class SettingActivity extends Activity { private EditText etname; //姓名输入框 diff --git a/src/app/src/main/java/com/sbw/atrue/Order/Activity/ShoppingActivity.java b/src/app/src/main/java/com/sbw/atrue/Order/Activity/ShoppingActivity.java index 662234c..ca324ee 100644 --- a/src/app/src/main/java/com/sbw/atrue/Order/Activity/ShoppingActivity.java +++ b/src/app/src/main/java/com/sbw/atrue/Order/Activity/ShoppingActivity.java @@ -100,6 +100,9 @@ public class ShoppingActivity extends Activity { @Override public void onFailed(int what, Response response) { + Product product = new Product(1,"牛肉汤", 10.5, "R.drawable.noodle", 100, "淮南牛肉汤", "美味牛肉汤!快来品尝", true); + productsData.add(product); + productListAdapter.notifyDataSetChanged(); } @Override @@ -137,8 +140,9 @@ public class ShoppingActivity extends Activity { @Override public void onClick(View v) { if (selectedProducts.size() != 0) { //已选择商品数据不为空 - Intent intent = new Intent(getApplicationContext(), InputActivity.class); //新建意图 - intent.putParcelableArrayListExtra("selectedProducts", selectedProducts); //设置已选择的商品数据 +// Intent intent = new Intent(getApplicationContext(), InputActivity.class); //新建意图 + Intent intent = new Intent(getApplicationContext(), horizonta_main.class); //新建意图 +// intent.putParcelableArrayListExtra("selectedProducts", selectedProducts); //设置已选择的商品数据 startActivity(intent); //启动信息输入界面 } else { //已选择商品数据为空 showDialog("购物车为空,请选择商品!"); diff --git a/src/app/src/main/java/com/sbw/atrue/Order/Activity/horizonta_main.java b/src/app/src/main/java/com/sbw/atrue/Order/Activity/horizonta_main.java new file mode 100644 index 0000000..9b62648 --- /dev/null +++ b/src/app/src/main/java/com/sbw/atrue/Order/Activity/horizonta_main.java @@ -0,0 +1,86 @@ +package com.sbw.atrue.Order.Activity; + +//import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; +import android.os.Bundle; + +import androidx.appcompat.app.AppCompatActivity; + +import java.util.Timer; +import java.util.TimerTask; + +import com.sbw.atrue.Order.Activity.CustomHorizontalProgresNoNum; +import com.sbw.atrue.Order.Activity.CustomHorizontalProgresWithNum; +import com.sbw.atrue.Order.R; + +public class horizonta_main extends AppCompatActivity { + private CustomHorizontalProgresNoNum horizontalProgress01;//水平不带进度 + private CustomHorizontalProgresWithNum horizontalProgress1,horizontalProgress2,horizontalProgress3;//水平带进度 + private Timer timer,timer2,timer3; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); +// setContentView(R.layout.activity_main); + setContentView(R.layout.horizontalprogres); + horizontalProgress01 = (CustomHorizontalProgresNoNum) findViewById(R.id.horizontalProgress01); + + + horizontalProgress1 = (CustomHorizontalProgresWithNum) findViewById(R.id.horizontalProgress1); + horizontalProgress2 = (CustomHorizontalProgresWithNum) findViewById(R.id.horizontalProgress2); + horizontalProgress3 = (CustomHorizontalProgresWithNum) findViewById(R.id.horizontalProgress3); + + horizontalProgress1.setProgress(0); + horizontalProgress1.setMax(100); + + horizontalProgress2.setProgress(0); + horizontalProgress2.setMax(100); + + horizontalProgress3.setProgress(0); + horizontalProgress3.setMax(200); + + + timer = new Timer(); + timer.schedule(new TimerTask() { + @Override + public void run() { + //实时更新进度 + if (horizontalProgress1.getProgress() >= 100) {//指定时间取消 + timer.cancel(); + } + horizontalProgress1.setProgress(horizontalProgress1.getProgress()+1); + horizontalProgress01.setProgress(horizontalProgress01.getProgress()+1); + + } + }, 50, 50); + + timer2 = new Timer(); + timer2.schedule(new TimerTask() { + @Override + public void run() { + //实时更新进度 + if (horizontalProgress2.getProgress() >= 100) {//指定时间取消 + timer2.cancel(); + } + horizontalProgress2.setProgress(horizontalProgress2.getProgress()+1); + + } + }, 40, 40); + + + timer3 = new Timer(); + timer3.schedule(new TimerTask() { + @Override + public void run() { + //实时更新进度 + if (horizontalProgress3.getProgress() >= horizontalProgress3.getMax()) {//指定时间取消 + timer3.cancel(); + } + horizontalProgress3.setProgress(horizontalProgress3.getProgress()+1); + + } + }, 50, 50); + } + + +} diff --git a/src/app/src/main/java/com/sbw/atrue/Order/Entity/Food.java b/src/app/src/main/java/com/sbw/atrue/Order/Entity/Food.java index 23d3607..03e5204 100644 --- a/src/app/src/main/java/com/sbw/atrue/Order/Entity/Food.java +++ b/src/app/src/main/java/com/sbw/atrue/Order/Entity/Food.java @@ -5,8 +5,6 @@ import java.io.Serializable; /** * ClassName: Food
* description: 菜品的实体类。定义序列化是为了用于Intent直接传递对象
- * author: 沈滨伟-13042299081
- * Date: 2019/2/18 22:08 */ public class Food implements Serializable { //菜品名称 diff --git a/src/app/src/main/res/drawable/background03.jpeg b/src/app/src/main/res/drawable/background03.jpeg new file mode 100644 index 0000000..ed81428 Binary files /dev/null and b/src/app/src/main/res/drawable/background03.jpeg differ diff --git a/src/app/src/main/res/drawable/btn_bg.xml b/src/app/src/main/res/drawable/btn_bg.xml index aa9c7e0..7a46106 100644 --- a/src/app/src/main/res/drawable/btn_bg.xml +++ b/src/app/src/main/res/drawable/btn_bg.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/src/app/src/main/res/drawable/fengmian.jpg b/src/app/src/main/res/drawable/fengmian.jpg index f04c483..895be82 100644 Binary files a/src/app/src/main/res/drawable/fengmian.jpg and b/src/app/src/main/res/drawable/fengmian.jpg differ diff --git a/src/app/src/main/res/drawable/ninglibrary.jpg b/src/app/src/main/res/drawable/ninglibrary.jpg new file mode 100644 index 0000000..e84f2b5 Binary files /dev/null and b/src/app/src/main/res/drawable/ninglibrary.jpg differ diff --git a/src/app/src/main/res/drawable/noodle.jpg b/src/app/src/main/res/drawable/noodle.jpg new file mode 100644 index 0000000..27bc2bf Binary files /dev/null and b/src/app/src/main/res/drawable/noodle.jpg differ diff --git a/src/app/src/main/res/drawable/oval.xml b/src/app/src/main/res/drawable/oval.xml new file mode 100644 index 0000000..505e983 --- /dev/null +++ b/src/app/src/main/res/drawable/oval.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/app/src/main/res/layout/activity_input.xml b/src/app/src/main/res/layout/activity_input.xml index 6d6bfc5..840e1c2 100644 --- a/src/app/src/main/res/layout/activity_input.xml +++ b/src/app/src/main/res/layout/activity_input.xml @@ -12,7 +12,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical|center_horizontal" - android:text="订单确认" + android:text="信息确认" android:textSize="24sp" /> + android:text="student" /> + android:text="1234561" /> + android:text="您的身体情况:" /> - + android:background="@drawable/ninglibrary"> + + android:hint="请输入账户" + android:textColorHint="#000000"/> + android:hint="请输入密码" + android:textColorHint="#000000"/>