diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d58fde7..08c2c7b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -178,6 +178,11 @@ android:configChanges="orientation|screenSize|keyboardHidden" android:exported="false" android:screenOrientation="portrait" /> + { @Override protected void onFindView(Bundle savedInstanceState) { -// if (BuildConfig.DEBUG) { -// setText(binding.inputUserName, "admin"); -// setText(binding.inputUserPass, "admin123"); -// } + if (BuildConfig.DEBUG) { + setText(binding.inputUserName, "admin"); + setText(binding.inputUserPass, "admin123"); + } } @Override diff --git a/app/src/main/java/com/tairui/industrial_operation/ui/home/adapter/HomeAdapter.java b/app/src/main/java/com/tairui/industrial_operation/ui/home/adapter/HomeAdapter.java index 3706048..2cb6087 100644 --- a/app/src/main/java/com/tairui/industrial_operation/ui/home/adapter/HomeAdapter.java +++ b/app/src/main/java/com/tairui/industrial_operation/ui/home/adapter/HomeAdapter.java @@ -8,6 +8,7 @@ import com.tairui.industrial_operation.R; import com.tairui.industrial_operation.base.entity.BaseHolderEntity; import com.tairui.industrial_operation.ui.brand.PublicBrandActivity; import com.tairui.industrial_operation.ui.home.entity.HomeGoodsEntity; +import com.tairui.industrial_operation.ui.mall.GoodsDetailActivity; import com.tairui.industrial_operation.ui.smart_farm.SmartFarmActivity; import com.tairui.industrial_operation.util.DensityUtils; import com.tairui.industrial_operation.util.IntentUtil; @@ -100,6 +101,8 @@ public class HomeAdapter extends BaseMultiItemQuickAdapter) entity.getData()); goodsRecycler.setAdapter(goodsAdapter); + goodsAdapter.setOnItemClickListener( + (baseQuickAdapter, view, i) -> IntentUtil.startActivity(mContext, GoodsDetailActivity.class)); break; default: break; diff --git a/app/src/main/java/com/tairui/industrial_operation/ui/mall/GoodsDetailActivity.java b/app/src/main/java/com/tairui/industrial_operation/ui/mall/GoodsDetailActivity.java new file mode 100644 index 0000000..57a6929 --- /dev/null +++ b/app/src/main/java/com/tairui/industrial_operation/ui/mall/GoodsDetailActivity.java @@ -0,0 +1,75 @@ +package com.tairui.industrial_operation.ui.mall; + +import com.gyf.immersionbar.ImmersionBar; +import com.kongzue.dialogx.dialogs.BottomDialog; +import com.kongzue.dialogx.interfaces.OnBindView; +import com.tairui.industrial_operation.R; +import com.tairui.industrial_operation.base.BaseActivity; +import com.tairui.industrial_operation.databinding.ActivityGoodsDetailBinding; +import com.tairui.industrial_operation.util.SingleClickListener; + +import android.os.Bundle; +import android.view.View; + +public class GoodsDetailActivity extends BaseActivity { + + @Override + protected Class getBindingClass() { + return ActivityGoodsDetailBinding.class; + } + + @Override + protected void initStatusBar() { + ImmersionBar.with(this).fitsSystemWindows(false).transparentStatusBar() + .statusBarDarkFont(true).init(); + } + + @Override + protected void onQueryArguments() { + } + + @Override + protected void onFindView(Bundle savedInstanceState) { + } + + @Override + protected void onBindListener() { + binding.btnBack.setOnClickListener(new SingleClickListener() { + @Override + protected void onSingleClick(View v) { + finish(); + } + }); + binding.baozhang.setOnClickListener(new SingleClickListener() { + @Override + protected void onSingleClick(View v) { + new BottomDialog("null", "", new OnBindView( + R.layout.layout_dialog_baozhang) { + @Override + public void onBind(BottomDialog dialog, View v) { + v.setOnClickListener(v1 -> dialog.dismiss()); + } + }).setBackgroundColor(getResColor(R.color.white)).show(); + } + }); + binding.canshu.setOnClickListener(new SingleClickListener() { + @Override + protected void onSingleClick(View v) { + new BottomDialog("null", "", new OnBindView( + R.layout.layout_dialog_canshu) { + @Override + public void onBind(BottomDialog dialog, View v) { + v.setOnClickListener(v1 -> dialog.dismiss()); + } + }).setBackgroundColor(getResColor(R.color.white)).show(); + } + }); + } + + @Override + protected void onApplyData() { + } + + private void requestGoodsDetailInfo(String goodsId) { + } +} diff --git a/app/src/main/java/com/tairui/industrial_operation/ui/mall/MallFragment.java b/app/src/main/java/com/tairui/industrial_operation/ui/mall/MallFragment.java index f531a7b..2a31f6a 100644 --- a/app/src/main/java/com/tairui/industrial_operation/ui/mall/MallFragment.java +++ b/app/src/main/java/com/tairui/industrial_operation/ui/mall/MallFragment.java @@ -13,6 +13,7 @@ import com.tairui.industrial_operation.http.OnError; import com.tairui.industrial_operation.ui.home.entity.HomeGoodsEntity; import com.tairui.industrial_operation.ui.mall.adapter.MallAdapter; import com.tairui.industrial_operation.util.ArrayUtil; +import com.tairui.industrial_operation.util.IntentUtil; import com.tairui.industrial_operation.widget.RefreshRecyclerView; import android.view.View; @@ -60,7 +61,6 @@ public class MallFragment extends BaseFragment { adapter.setOnItemClickListener((baseQuickAdapter, view, i) -> { // Bundle bundle = new Bundle(); // bundle.putSerializable("data", (Serializable) adapter.getItem(i)); - // IntentUtil.startActivity(mContext, LandInfoDetailActivity.class, bundle); }); } diff --git a/app/src/main/java/com/tairui/industrial_operation/ui/mall/adapter/MallAdapter.java b/app/src/main/java/com/tairui/industrial_operation/ui/mall/adapter/MallAdapter.java index a734948..7a50a1c 100644 --- a/app/src/main/java/com/tairui/industrial_operation/ui/mall/adapter/MallAdapter.java +++ b/app/src/main/java/com/tairui/industrial_operation/ui/mall/adapter/MallAdapter.java @@ -8,7 +8,9 @@ import com.tairui.industrial_operation.R; import com.tairui.industrial_operation.base.entity.BaseHolderEntity; import com.tairui.industrial_operation.ui.home.adapter.HomeGoodsAdapter; import com.tairui.industrial_operation.ui.home.entity.HomeGoodsEntity; +import com.tairui.industrial_operation.ui.mall.GoodsDetailActivity; import com.tairui.industrial_operation.util.DensityUtils; +import com.tairui.industrial_operation.util.IntentUtil; import com.tairui.industrial_operation.widget.GridSpacingItemDecoration; import androidx.annotation.NonNull; @@ -55,6 +57,8 @@ public class MallAdapter extends BaseMultiItemQuickAdapter) entity.getData()); goodsRecycler.setAdapter(goodsAdapter); + goodsAdapter.setOnItemClickListener( + (baseQuickAdapter, view, i) -> IntentUtil.startActivity(mContext, GoodsDetailActivity.class)); break; default: break; diff --git a/app/src/main/java/com/tairui/industrial_operation/widget/CustomRoundImageView.java b/app/src/main/java/com/tairui/industrial_operation/widget/CustomRoundImageView.java new file mode 100644 index 0000000..b6dc550 --- /dev/null +++ b/app/src/main/java/com/tairui/industrial_operation/widget/CustomRoundImageView.java @@ -0,0 +1,485 @@ +package com.tairui.industrial_operation.widget; + +import com.tairui.industrial_operation.R; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.graphics.Path; +import android.graphics.PorterDuff; +import android.graphics.PorterDuffXfermode; +import android.graphics.RectF; +import android.text.TextPaint; +import android.util.AttributeSet; +import android.widget.ImageView; + +@SuppressLint("AppCompatCustomView") +public class CustomRoundImageView extends ImageView { + + private static final int LEFT_TOP = 0; + private static final int LEFT_BOTTOM = 1; + private static final int RIGHT_TOP = 2; + private static final int RIGHT_BOTTOM = 3; + + private static final int SANS = 1; + private static final int SERIF = 2; + private static final int MONOSPACE = 3; + /** + * My paint. + */ + private Paint mPaint = null; + /** + * The Border width. + */ + private float borderWidth = 2; + /** + * The Border color. + */ + private int borderColor = Color.parseColor("#8A2BE2"); + /** + * The Display border. + */ + private boolean displayBorder; + /** + * The Left top radius. + */ + private float leftTopRadius, + /** + * The Right top radius. + */ + rightTopRadius, + /** + * The Left bottom radius. + */ + leftBottomRadius, + /** + * The Right bottom radius. + */ + rightBottomRadius; + + /** + * The Display type. + */ + private DisplayType displayType; + + /** + * The text paint + */ + private TextPaint mTextPaint = null; + /** + * Text displayed on the label + */ + private String text; + + /** + * The enum Display type. + */ + public enum DisplayType { + /** + * Normal display type. + */ + NORMAL(0), + /** + * Circle display type. + */ + CIRCLE(1), + /** + * Round rect display type. + */ + ROUND_RECT(2); + + DisplayType(int type) { + this.type = type; + } + + /** + * The Type. + */ + final int type; + } + + /** + * The Display type array. + */ + private static final DisplayType[] displayTypeArray = { + DisplayType.NORMAL, + DisplayType.CIRCLE, + DisplayType.ROUND_RECT + }; + + /** + * Instantiates a new Round image view. + * + * @param context the Context + */ + public CustomRoundImageView(Context context) { + this(context, null); + } + + /** + * Instantiates a new Round image view. + * + * @param context the Context + * @param attrs the AttributeSet + */ + public CustomRoundImageView(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + /** + * Instantiates a new Round image view. + * + * @param context the Context + * @param attrs the AttributeSet + * @param defStyleAttr the default style Attribute + */ + public CustomRoundImageView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(context, attrs); + } + + /** + * Init. + * + * @param ctx the Context + * @param attrs the AttributeSet + */ + private void init(Context ctx, AttributeSet attrs) { + setLayerType(LAYER_TYPE_HARDWARE, null); + mPaint = new Paint(); + mTextPaint = new TextPaint(); + + if (attrs != null) { + TypedArray a = ctx.obtainStyledAttributes(attrs, R.styleable.RoundImageView); + + borderWidth = a.getDimension(R.styleable.RoundImageView_borderWidth, borderWidth); + borderColor = a.getColor(R.styleable.RoundImageView_borderColor, borderColor); + displayBorder = a.getBoolean(R.styleable.RoundImageView_displayBorder, displayBorder); + + leftTopRadius = a.getDimension(R.styleable.RoundImageView_leftTopRadius, leftTopRadius); + rightTopRadius = a.getDimension(R.styleable.RoundImageView_rightTopRadius, rightTopRadius); + leftBottomRadius = a.getDimension(R.styleable.RoundImageView_leftBottomRadius, leftBottomRadius); + rightBottomRadius = a.getDimension(R.styleable.RoundImageView_rightBottomRadius, rightBottomRadius); + + float radius = a.getDimension(R.styleable.RoundImageView_radiusSize, 0); + if (radius > 0) { + leftTopRadius = leftBottomRadius = rightTopRadius = rightBottomRadius = radius; + } + + int index = a.getInt(R.styleable.RoundImageView_displayType, -1); + + if (index >= 0) { + displayType = displayTypeArray[index]; + } else { + displayType = DisplayType.NORMAL; + } + setScaleType(ScaleType.CENTER_CROP); + a.recycle(); + } + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int widthSize = MeasureSpec.getSize(widthMeasureSpec); + int heightSize = MeasureSpec.getSize(heightMeasureSpec); + if (displayType == DisplayType.CIRCLE) { + int measureSpec; + if (widthSize < heightSize) { + measureSpec = widthMeasureSpec; + } else { + measureSpec = heightMeasureSpec; + } + if (widthSize <= 0) { + measureSpec = heightMeasureSpec; + } + super.onMeasure(measureSpec, measureSpec); + } else { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + } + } + + @SuppressLint("DrawAllocation") + @Override + protected void onDraw(Canvas canvas) { + if (getDrawable() != null) { + resetSize(Math.min(getWidth(), getHeight()) / 2f); + Bitmap bm = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_4444); + Canvas mCanvas = new Canvas(bm); + super.onDraw(mCanvas); + mPaint.reset(); + mPaint.setAntiAlias(true); + mPaint.setDither(true); + drawMyContent(mCanvas); + canvas.drawBitmap(bm, 0, 0, mPaint); + bm.recycle(); + } else { + super.onDraw(canvas); + } + } + + /** + * Reset Size. + * + * @param size the size + */ + private void resetSize(float size) { + leftTopRadius = Math.min(leftTopRadius, size); + rightTopRadius = Math.min(rightTopRadius, size); + leftBottomRadius = Math.min(leftBottomRadius, size); + rightBottomRadius = Math.min(rightBottomRadius, size); + borderWidth = Math.min(borderWidth, size / 2); + } + + /** + * Draw my content. + * + * @param mCanvas my canvas + */ + private void drawMyContent(Canvas mCanvas) { + + if (displayType != DisplayType.NORMAL) { + mPaint.setStyle(Paint.Style.FILL); + mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT)); + Path path = createPath(); + path.setFillType(Path.FillType.INVERSE_EVEN_ODD); + mCanvas.drawPath(path, mPaint); + mPaint.setXfermode(null); + } + + if (displayBorder) { + drawBorders(mCanvas); + } + } + + /** + * Draw borders. + * + * @param mCanvas my canvas + */ + private void drawBorders(Canvas mCanvas) { + mPaint.setStyle(Paint.Style.STROKE); + mPaint.setColor(borderColor); + mPaint.setStrokeWidth(borderWidth); + Path path = createPath(); + mCanvas.drawPath(path, mPaint); + } + + /** + * Create path. + * + * @return the path + */ + private Path createPath() { + Path mPath = new Path(); + float size = borderWidth / 2; + switch (displayType) { + case CIRCLE: + mPath.addCircle(getWidth() / 2f, getHeight() / 2f, getWidth() / 2f - size, Path.Direction.CW); + break; + case ROUND_RECT: + RectF rectF = new RectF(0, 0, getWidth(), getHeight()); + rectF.inset(size, size); + mPath.addRoundRect(rectF, + new float[]{ + leftTopRadius, leftTopRadius, + rightTopRadius, rightTopRadius, + rightBottomRadius, rightBottomRadius, + leftBottomRadius, leftBottomRadius}, + Path.Direction.CW); + break; + default: + RectF rect = new RectF(0, 0, getWidth(), getHeight()); + rect.inset(size, size); + mPath.addRect(rect, Path.Direction.CW); + break; + } + return mPath; + } + + /** + * Sets border color. + * + * @param borderColor the border color + */ + public void setBorderColor(int borderColor) { + if (this.borderColor != borderColor) { + this.borderColor = borderColor; + if (displayBorder) { + postInvalidate(); + } + } + } + + /** + * Is display border boolean. + * + * @return the boolean + */ + public boolean isDisplayBorder() { + return displayBorder; + } + + /** + * Sets display border. + * + * @param displayBorder the display border + */ + public void setDisplayBorder(boolean displayBorder) { + if (this.displayBorder != displayBorder) { + this.displayBorder = displayBorder; + postInvalidate(); + } + } + + /** + * Gets left top radius. + * + * @return the left top radius + */ + public float getLeftTopRadius() { + return leftTopRadius; + } + + /** + * Sets left top radius. + * + * @param leftTopRadius the left top radius + */ + public void setLeftTopRadius(float leftTopRadius) { + if (this.leftTopRadius != leftTopRadius) { + this.leftTopRadius = leftTopRadius; + if (displayType != DisplayType.NORMAL) { + postInvalidate(); + } + } + } + + /** + * Gets right top radius. + * + * @return the right top radius + */ + public float getRightTopRadius() { + return rightTopRadius; + } + + /** + * Sets right top radius. + * + * @param rightTopRadius the right top radius + */ + public void setRightTopRadius(float rightTopRadius) { + if (this.rightTopRadius != rightTopRadius) { + this.rightTopRadius = rightTopRadius; + if (displayType != DisplayType.NORMAL) { + postInvalidate(); + } + } + } + + /** + * Gets left bottom radius. + * + * @return the left bottom radius + */ + public float getLeftBottomRadius() { + return leftBottomRadius; + } + + /** + * Sets left bottom radius. + * + * @param leftBottomRadius the left bottom radius + */ + public void setLeftBottomRadius(float leftBottomRadius) { + if (this.leftBottomRadius != leftBottomRadius) { + this.leftBottomRadius = leftBottomRadius; + if (displayType != DisplayType.NORMAL) { + postInvalidate(); + } + } + } + + /** + * Gets right bottom radius. + * + * @return the right bottom radius + */ + public float getRightBottomRadius() { + return rightBottomRadius; + } + + /** + * Sets right bottom radius. + * + * @param rightBottomRadius the right bottom radius + */ + public void setRightBottomRadius(float rightBottomRadius) { + if (this.rightBottomRadius != rightBottomRadius) { + this.rightBottomRadius = rightBottomRadius; + if (displayType != DisplayType.NORMAL) { + postInvalidate(); + } + } + } + + /** + * Sets radius. + * + * @param leftTopRadius the left top radius + * @param rightTopRadius the right top radius + * @param leftBottomRadius the left bottom radius + * @param rightBottomRadius the right bottom radius + */ + public void setRadius(float leftTopRadius, float rightTopRadius, float leftBottomRadius, float rightBottomRadius) { + if (this.leftTopRadius == leftTopRadius + && this.rightTopRadius == rightTopRadius + && this.leftBottomRadius == leftBottomRadius + && this.rightBottomRadius == rightBottomRadius) { + return; + } + + this.leftTopRadius = leftTopRadius; + this.rightTopRadius = rightTopRadius; + this.leftBottomRadius = leftBottomRadius; + this.rightBottomRadius = rightBottomRadius; + if (displayType != DisplayType.NORMAL) { + postInvalidate(); + } + } + + /** + * Sets radius. + * + * @param radius the radius + */ + public void setRadius(float radius) { + setRadius(radius, radius, radius, radius); + } + + /** + * Gets display type. + * + * @return the display type + */ + public DisplayType getDisplayType() { + return displayType; + } + + /** + * Sets display type. + * + * @return the display type + */ + public void setDisplayType(DisplayType _displayType) { + displayType = _displayType; + if (displayType != DisplayType.NORMAL) { + postInvalidate(); + } + } + +} diff --git a/app/src/main/res/drawable/bg_container_gray_border_raduis_5.xml b/app/src/main/res/drawable/bg_container_gray_border_raduis_5.xml new file mode 100644 index 0000000..6f29ecc --- /dev/null +++ b/app/src/main/res/drawable/bg_container_gray_border_raduis_5.xml @@ -0,0 +1,14 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_container_green_right_raduis_30.xml b/app/src/main/res/drawable/bg_container_green_right_raduis_30.xml new file mode 100644 index 0000000..a630190 --- /dev/null +++ b/app/src/main/res/drawable/bg_container_green_right_raduis_30.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_container_light_gray_raduis_30.xml b/app/src/main/res/drawable/bg_container_light_gray_raduis_30.xml new file mode 100644 index 0000000..9357f24 --- /dev/null +++ b/app/src/main/res/drawable/bg_container_light_gray_raduis_30.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_container_light_green_left_raduis_30.xml b/app/src/main/res/drawable/bg_container_light_green_left_raduis_30.xml new file mode 100644 index 0000000..ef9619a --- /dev/null +++ b/app/src/main/res/drawable/bg_container_light_green_left_raduis_30.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_container_red_raduis_30.xml b/app/src/main/res/drawable/bg_container_red_raduis_30.xml new file mode 100644 index 0000000..e3fab94 --- /dev/null +++ b/app/src/main/res/drawable/bg_container_red_raduis_30.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_container_yellow_raduis_30.xml b/app/src/main/res/drawable/bg_container_yellow_raduis_30.xml new file mode 100644 index 0000000..33d4789 --- /dev/null +++ b/app/src/main/res/drawable/bg_container_yellow_raduis_30.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_dot_red.xml b/app/src/main/res/drawable/bg_dot_red.xml new file mode 100644 index 0000000..4973004 --- /dev/null +++ b/app/src/main/res/drawable/bg_dot_red.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_gray_round.xml b/app/src/main/res/drawable/bg_gray_round.xml new file mode 100644 index 0000000..8575b46 --- /dev/null +++ b/app/src/main/res/drawable/bg_gray_round.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_goods_detail.xml b/app/src/main/res/layout/activity_goods_detail.xml new file mode 100644 index 0000000..acfdb5b --- /dev/null +++ b/app/src/main/res/layout/activity_goods_detail.xml @@ -0,0 +1,404 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_goods_detail_info.xml b/app/src/main/res/layout/item_goods_detail_info.xml new file mode 100644 index 0000000..355e84d --- /dev/null +++ b/app/src/main/res/layout/item_goods_detail_info.xml @@ -0,0 +1,381 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/layout_dialog_baozhang.xml b/app/src/main/res/layout/layout_dialog_baozhang.xml new file mode 100644 index 0000000..2f7ebfa --- /dev/null +++ b/app/src/main/res/layout/layout_dialog_baozhang.xml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/layout_dialog_canshu.xml b/app/src/main/res/layout/layout_dialog_canshu.xml new file mode 100644 index 0000000..a465ab9 --- /dev/null +++ b/app/src/main/res/layout/layout_dialog_canshu.xml @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xxhdpi/bg_goods_detail_barcode.png b/app/src/main/res/mipmap-xxhdpi/bg_goods_detail_barcode.png new file mode 100644 index 0000000..1616fcf Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/bg_goods_detail_barcode.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_arrow_right_black_small.png b/app/src/main/res/mipmap-xxhdpi/ic_arrow_right_black_small.png new file mode 100644 index 0000000..6f77d47 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_arrow_right_black_small.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home.png b/app/src/main/res/mipmap-xxhdpi/ic_home.png new file mode 100644 index 0000000..6c9b35c Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_service.png b/app/src/main/res/mipmap-xxhdpi/ic_service.png new file mode 100644 index 0000000..102d09b Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_service.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_shopcart_black.png b/app/src/main/res/mipmap-xxhdpi/ic_shopcart_black.png new file mode 100644 index 0000000..0cddcd4 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_shopcart_black.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_voice.png b/app/src/main/res/mipmap-xxhdpi/ic_voice.png new file mode 100644 index 0000000..463fee7 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_voice.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_1.png b/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_1.png new file mode 100644 index 0000000..12ce028 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_1.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_2.png b/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_2.png new file mode 100644 index 0000000..915737b Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_2.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_3.png b/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_3.png new file mode 100644 index 0000000..170261c Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_3.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_4.png b/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_4.png new file mode 100644 index 0000000..5de4308 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_4.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_5.png b/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_5.png new file mode 100644 index 0000000..d785139 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_5.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_6.png b/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_6.png new file mode 100644 index 0000000..b19c02f Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/pic_goods_detail_6.png differ diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index d6e7c84..d29088a 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -38,4 +38,22 @@ + + + + + + + + + + + + + + + + + +