diff --git a/app/src/main/java/com/zj365/dc/activity/RecognizeResultAct.kt b/app/src/main/java/com/zj365/dc/activity/RecognizeResultAct.kt index 559e1d1..d9e72fd 100644 --- a/app/src/main/java/com/zj365/dc/activity/RecognizeResultAct.kt +++ b/app/src/main/java/com/zj365/dc/activity/RecognizeResultAct.kt @@ -1,23 +1,26 @@ package com.zj365.dc.activity import android.content.Intent +import android.graphics.Rect import android.view.LayoutInflater -import android.view.View -import android.widget.ImageView -import android.widget.LinearLayout + import android.widget.TextView +import androidx.core.view.isVisible import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import androidx.recyclerview.widget.RecyclerView.ItemDecoration import com.alibaba.android.arouter.facade.annotation.Route +import com.blankj.utilcode.util.SizeUtils import com.google.android.material.bottomsheet.BottomSheetDialog import com.luck.picture.lib.PictureSelector import com.luck.picture.lib.config.PictureConfig import com.luck.picture.lib.config.PictureMimeType import com.xty.base.act.BaseVmAct -import com.xty.base.vm.BaseVm import com.xty.common.arouter.ARouterUrl import com.xty.common.arouter.RouteManager +import com.xty.common.model.ReportBean +import com.xty.common.model.ReportNewBean import com.xty.common.picture.PictureUtils -import com.xty.common.util.SpannableUtils import com.xty.network.model.FoodRecoginzeInfo import com.zj365.dc.BuildConfig import com.zj365.dc.adapter.RecognizeResultAdapter @@ -37,12 +40,19 @@ class RecognizeResultAct : BaseVmAct() { var type:String? = null var fileUrl :String? = null - var currentId:String?= null var foodRecoginzeInfo: FoodRecoginzeInfo? = null + override fun liveObserver() { mViewModel.foodRecoginzeInfoLiveData.observe(this){ - adapter.setNewInstance(it.data) + adapter.data.clear() + foodRecoginzeInfo = null + if (!it.data.isNullOrEmpty()){ + it.data[0].isCheck = true + adapter.setNewInstance(it.data) + refreshCalorieUI(it.data[0]) + } + } } @@ -63,12 +73,12 @@ class RecognizeResultAct : BaseVmAct() { } initAdapter() binding.tvPhotographAgain.setOnClickListener { - + bottomSheetDialog?.show() } binding.tvDetail.setOnClickListener { - currentId?.let { + foodRecoginzeInfo?.let { bundle.clear() - bundle.putString("web_site_url","${BuildConfig.h5url}pages/index/index?pageId=mealsDetail&id=${it}") + bundle.putString("web_site_url","${BuildConfig.h5url}pages/index/index?pageId=mealsDetail&id=${it.id}") RouteManager.goAct(ARouterUrl.H5_ACT,bundle) } @@ -79,17 +89,53 @@ class RecognizeResultAct : BaseVmAct() { } + fun refreshCalorieUI(bean : FoodRecoginzeInfo){ + binding.tvAnalyzeTitle.text = bean.name + binding.tvCalorie.text ="${bean.heat}kcal/100g" + var vit = bean.vit_a+ bean.vit_b1+ bean.vit_b2+bean.vit_c+bean.vit_e + var calorieBean = ReportNewBean().apply { + title = "热卡分析" + count = bean.df+bean.cho+vit + listNum.add(vit ) + listNum.add(bean.df) + listNum.add(bean.cho) + listName.add("维生素") + listName.add("膳食纤维") + listName.add("碳水化合") + unit = "g" + isShow = true + } + + binding.mCircle.setData(calorieBean) + binding.mCircle.isVisible = calorieBean.isShow + + } + fun initAdapter(){ binding.recycler.layoutManager = LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false) binding.recycler.adapter = adapter - adapter.setOnItemChildClickListener { adapter, view, position -> + binding.recycler.addItemDecoration(object : ItemDecoration(){ + override fun getItemOffsets(outRect: Rect, itemPosition: Int, parent: RecyclerView) { + super.getItemOffsets(outRect, itemPosition, parent) + if (itemPosition == 0){ + + }else{ + outRect.right = SizeUtils.dp2px(8.0f) + } + } + }) + adapter.setOnItemClickListener{ adapter, view, position -> foodRecoginzeInfo = adapter.getItem(position) as FoodRecoginzeInfo + (adapter.data as MutableList).forEach { + it.isCheck = false + } foodRecoginzeInfo?.let { - currentId = it.name - binding.tvAnalyzeTitle.text = it.name - val list = mutableListOf() + it.isCheck = true + refreshCalorieUI(it) } + + adapter.notifyDataSetChanged() } } diff --git a/app/src/main/java/com/zj365/dc/adapter/HealthMonitoringAdapter.kt b/app/src/main/java/com/zj365/dc/adapter/HealthMonitoringAdapter.kt index f722aad..71790d1 100644 --- a/app/src/main/java/com/zj365/dc/adapter/HealthMonitoringAdapter.kt +++ b/app/src/main/java/com/zj365/dc/adapter/HealthMonitoringAdapter.kt @@ -13,6 +13,7 @@ import android.widget.ImageView import android.widget.TextView import androidx.core.content.ContextCompat import androidx.core.view.isVisible +import com.blankj.utilcode.util.SizeUtils import com.tamsiree.rxkit.RxTimeTool import com.xty.common.util.SpannableUtils import com.xty.network.model.HealthMonitoringListBean diff --git a/app/src/main/java/com/zj365/dc/adapter/HomeContentLayoutAdapter.kt b/app/src/main/java/com/zj365/dc/adapter/HomeContentLayoutAdapter.kt index 3527a88..48bc18e 100644 --- a/app/src/main/java/com/zj365/dc/adapter/HomeContentLayoutAdapter.kt +++ b/app/src/main/java/com/zj365/dc/adapter/HomeContentLayoutAdapter.kt @@ -2,6 +2,7 @@ package com.zj365.dc.adapter import android.content.Context import android.widget.ImageView +import android.widget.LinearLayout import com.chad.library.adapter.base.viewholder.BaseViewHolder import com.xty.base.adapter.BaseAdapter import com.xty.common.setImage @@ -11,6 +12,9 @@ import com.zj365.dc.R class HomeContentLayoutAdapter (context: Context) : BaseAdapter(R.layout.item_home_content_layout){ override fun convert(holder: BaseViewHolder, item: HomeLayoutBean.HomeChildBean) { + + + holder.getView(R.id.img_content).setImage(context,item.imageUrl) holder.setText(R.id.tv_content,item.name) } diff --git a/app/src/main/java/com/zj365/dc/adapter/RecognizeResultAdapter.kt b/app/src/main/java/com/zj365/dc/adapter/RecognizeResultAdapter.kt index 4d0971a..a202b76 100644 --- a/app/src/main/java/com/zj365/dc/adapter/RecognizeResultAdapter.kt +++ b/app/src/main/java/com/zj365/dc/adapter/RecognizeResultAdapter.kt @@ -9,7 +9,12 @@ import com.zj365.dc.R class RecognizeResultAdapter : BaseAdapter(R.layout.item_recognize_result){ override fun convert(holder: BaseViewHolder, item: FoodRecoginzeInfo) { + if (item.isCheck){ + holder.setGone(R.id.img_bg,false) + }else{ + holder.setGone(R.id.img_bg,true) + } } diff --git a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt index 0b0d38f..13cacc2 100644 --- a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt +++ b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt @@ -365,6 +365,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission binding.mHealthReport.llSkyHourReport.setOnClickListener(onClickListener) binding.mHealthReport.llHebdomadReport.setOnClickListener(onClickListener) binding.mHealthReport.llThirtyDaysReport.setOnClickListener(onClickListener) + binding.mHeader.mHealthRecords.setOnClickListener(onClickListener) } //点击事件响应 @@ -378,6 +379,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission R.id.mHealthRecords -> { CommonToastUtils.showToast("敬请期待") + return@OnClickListener /*val btnStr = binding.mHeader.mWearManager.text if (btnStr == "佩戴管理") { if (MMkvHelper.getInt(Const.Watch_Device_Type) == Const.Companion.WatchDevice.LightA3.ordinal) {//4G手表 diff --git a/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt b/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt index 136b305..a025247 100644 --- a/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt +++ b/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt @@ -436,7 +436,7 @@ class MineFrag : BaseVmFrag(),EasyPermissions.PermissionCallbacks { user = null binding.mIntegral.text = "0" binding.mName.text = "" - binding.mPhone.text = "账户:" + binding.mPhone.text = "" binding.mImage.setImageResource(defaultIcon[0]) } diff --git a/app/src/main/res/layout/act_recognize_result.xml b/app/src/main/res/layout/act_recognize_result.xml index f933337..9df24c1 100644 --- a/app/src/main/res/layout/act_recognize_result.xml +++ b/app/src/main/res/layout/act_recognize_result.xml @@ -96,8 +96,7 @@ android:orientation="vertical" android:layout_below="@+id/ll_analyze_result_title" android:paddingTop="@dimen/dp_22" - android:paddingLeft="@dimen/dp_16" - android:paddingRight="@dimen/dp_16" + android:paddingBottom="@dimen/dp_25" android:layout_marginLeft="@dimen/dp_14" android:layout_marginRight="@dimen/dp_14" @@ -109,6 +108,8 @@ android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" + android:paddingLeft="@dimen/dp_16" + android:paddingRight="@dimen/dp_16" > - + + + app:layout_constraintTop_toBottomOf="@+id/ll_health_title"> @@ -17,6 +17,7 @@ android:id="@+id/img_content" android:layout_width="@dimen/dp_34" android:layout_height="@dimen/dp_34" + android:scaleType="centerCrop" tools:background="@mipmap/icon_ai_tongue_diagnosis"/> + + \ No newline at end of file diff --git a/common/src/main/java/com/xty/common/TimeSelect.kt b/common/src/main/java/com/xty/common/TimeSelect.kt index 30f35f4..97c8e23 100644 --- a/common/src/main/java/com/xty/common/TimeSelect.kt +++ b/common/src/main/java/com/xty/common/TimeSelect.kt @@ -362,7 +362,7 @@ class TimeSelect(var context: Context, var select: (String) -> Unit) { .setOutSideCancelable(false)//点击屏幕,点在控件外部范围时,是否取消显示 .isCyclic(false)//是否循环滚动 .setBgColor(Color.WHITE)//滚轮背景颜色 Night mode - .setLineSpacingMultiplier(3.0f) + .setLineSpacingMultiplier(2.5f) .setTextColorCenter(ContextCompat.getColor(context, R.color.col_313)) .setTextColorOut(ContextCompat.getColor(context, R.color.col_6B6)) .setDividerColor(ContextCompat.getColor(context, R.color.transparent)) diff --git a/common/src/main/java/com/xty/common/model/ReportNewBean.kt b/common/src/main/java/com/xty/common/model/ReportNewBean.kt new file mode 100644 index 0000000..769fb76 --- /dev/null +++ b/common/src/main/java/com/xty/common/model/ReportNewBean.kt @@ -0,0 +1,12 @@ +package com.xty.common.model + +import com.xty.network.model.ReportBean + +class ReportNewBean { + var title="" + var count:Float=0f //总数 + var listNum= mutableListOf() + var listName= mutableListOf() + var unit = "" + var isShow = true +} \ No newline at end of file diff --git a/common/src/main/java/com/xty/common/weight/MyProgressCircleViewNew.kt b/common/src/main/java/com/xty/common/weight/MyProgressCircleViewNew.kt new file mode 100644 index 0000000..cdf0b5c --- /dev/null +++ b/common/src/main/java/com/xty/common/weight/MyProgressCircleViewNew.kt @@ -0,0 +1,219 @@ +package com.xty.common.weight + +import android.content.Context +import android.graphics.Canvas +import android.graphics.Paint +import android.graphics.RectF +import android.util.AttributeSet +import android.view.View +import androidx.core.content.ContextCompat +import com.xty.common.R +import com.xty.common.SizeUtil +import com.xty.common.model.ReportNewBean + +class MyProgressCircleViewNew (context: Context, attrs: AttributeSet?) : View(context, attrs) { + + private var bean: ReportNewBean? = null + private var progressWidth = 0f + private var exampleWidth = 0f + private var percentSize = 0f + private var exampleLength = 0f + private var count = 3 + private var unit = "次" + + private val paintProgress by lazy { + Paint().apply { + isDither = true + isAntiAlias = true + style = Paint.Style.STROKE + strokeWidth = progressWidth + color = ContextCompat.getColor(context, R.color.col_9BDd) + } + } + + private val paintFir by lazy { + Paint().apply { + isDither = true + isAntiAlias = true + style = Paint.Style.STROKE + strokeWidth = progressWidth + color = ContextCompat.getColor(context, R.color.col_9BDd) + } + } + + private val paintExample by lazy { + Paint().apply { + isDither = true + isAntiAlias = true + style = Paint.Style.STROKE + strokeWidth = exampleWidth + strokeCap = Paint.Cap.ROUND + color = ContextCompat.getColor(context, R.color.col_FDA481) + } + } + + private val paintTxt by lazy { + Paint().apply { + isDither = true + isAntiAlias = true + style = Paint.Style.FILL + color = ContextCompat.getColor(context, R.color.col_313) + textSize = percentSize + } + } + + init { + val obtain = context.obtainStyledAttributes(attrs, R.styleable.MyProgressCircleView) + progressWidth = + obtain.getDimensionPixelSize(R.styleable.MyProgressCircleView_circle_stroke_width, 0) + .toFloat() + percentSize = + obtain.getDimensionPixelSize(R.styleable.MyProgressCircleView_percent_size, 0).toFloat() + exampleWidth = + obtain.getDimensionPixelSize(R.styleable.MyProgressCircleView_example_size, 0).toFloat() + exampleLength = + obtain.getDimensionPixelSize(R.styleable.MyProgressCircleView_example_length, 0) + .toFloat() + count = obtain.getInt(R.styleable.MyProgressCircleView_count, 0) + obtain.recycle() + } + + override fun onDraw(canvas: Canvas) { + super.onDraw(canvas) + bean?.let { + //绘制基础的圆形 + drawMyCircle(canvas) + //绘制尾部占比数量 + drawTxt(canvas) + //次数 + drawNumTxt(canvas) + //绘制 用例前面的占比名称 + drawStartTxt(canvas) + //绘制用例颜色 + drawExampleLine(canvas) + } + + } + + /** + * 绘制尾部占比数量 + */ + private fun drawTxt(canvas: Canvas) { + val fontMetrics = paintTxt.fontMetrics + val txtHeight = fontMetrics.descent - fontMetrics.ascent + val minHeight = height / count + val baseline = minHeight / 2 + txtHeight / 2 - fontMetrics.descent + + for (i in 0 until count) { + val startY = minHeight * i + baseline + val num = (bean!!.listNum[i]) / (bean!!.count) * 100 + var doubleNum = String.format("%.1f", num) + if (doubleNum.equals("NaN")) { + doubleNum = "0" + } + val measureText = paintTxt.measureText("$doubleNum%") + canvas.drawText( + "$doubleNum%", + width.toFloat() - measureText - paddingRight, + startY, + paintTxt + ) + } + } + + /** + * 次数 + */ + private fun drawNumTxt(canvas: Canvas) { + val fontMetrics = paintTxt.fontMetrics + val txtHeight = fontMetrics.descent - fontMetrics.ascent + val minHeight = height / count + val baseline = minHeight / 2 + txtHeight / 2 - fontMetrics.descent + for (i in 0 until count) { + val startY = minHeight * i + baseline + val day = bean!!.listNum[i].toString() + unit + val measureText = paintTxt.measureText(day) + canvas.drawText( + day, + width.toFloat() - measureText - paddingRight - SizeUtil.dp2px(context, 52f), + startY, + paintTxt + ) + } + } + + /** + * 绘制 用例前面的占比名称 + */ + private fun drawStartTxt(canvas: Canvas) { + val fontMetrics = paintTxt.fontMetrics + val txtHeight = fontMetrics.descent - fontMetrics.ascent + val minHeight = height / count + val baseLine = minHeight / 2 + txtHeight / 2 - fontMetrics.descent + for (i in 0 until count) { + val startY = minHeight * i + baseLine + canvas.drawText( + bean!!.listName[i], + width / 2f + exampleLength + 10 + (exampleLength / 3f), + startY, + paintTxt + ) + } + } + + /** + * 绘制用例颜色 + */ + private fun drawExampleLine(canvas: Canvas) { + var startAngle = 0f + val i = width / 2 + val coerceAtMost = i.coerceAtMost(height) + val r = coerceAtMost / 2f - progressWidth / 2 - paddingTop + val startX = i / 2f - r + val startY = height / 2f - r + val endX = i / 2 + r + val endY = height / 2f + r + + val rectF = RectF(startX, startY, endX, endY) + + val array = arrayOf( + ContextCompat.getColor(context, R.color.col_9BDd), + ContextCompat.getColor(context, R.color.col_9BD), + ContextCompat.getColor(context, R.color.col_FDA481), + ContextCompat.getColor(context, R.color.col_EFF), + ContextCompat.getColor(context, R.color.col_BC8), + ) + val x = width / 2f + val y = height / count + for (i in 0 until count) { + val centerY = y * i + (y / 2f) + paintExample.color = array[i] + canvas.drawLine(x, centerY, x + exampleLength, centerY, paintExample) + paintFir.color = array[i] + val angle = if (bean!!.count == 0f) { + 360 / count.toFloat() + } else { + 360 * bean!!.listNum[i] / bean!!.count.toFloat() + } + + paintFir.color = array[i] + canvas.drawArc(rectF, startAngle, angle, false, paintFir) + startAngle += angle + } + } + + //绘制基础的圆形 + private fun drawMyCircle(canvas: Canvas) { + val i = width / 2 + val coerceAtMost = i.coerceAtMost(height) + val r = coerceAtMost / 2f - progressWidth / 2 - paddingTop + canvas.drawCircle(i / 2f, height / 2f, r, paintProgress) + } + + fun setData(bean: ReportNewBean) { + this.bean = bean + count = bean.listName.size + unit = bean.unit + invalidate() + } +} \ No newline at end of file diff --git a/common/src/main/res/layout/layout_customer_date_picker.xml b/common/src/main/res/layout/layout_customer_date_picker.xml index ea9797c..b8b2279 100644 --- a/common/src/main/res/layout/layout_customer_date_picker.xml +++ b/common/src/main/res/layout/layout_customer_date_picker.xml @@ -4,7 +4,7 @@ android:layout_height="@dimen/dp_300" android:orientation="vertical" android:background="@drawable/shape_lt15_rt15_white" - android:paddingBottom="@dimen/dp_40" + android:paddingBottom="@dimen/dp_50" > () { it.mScore.apply { text = "" var text = "$score 分" - append(setStrSpan(text, 28, getColor(R.color.col_25C), Typeface.BOLD, 0, text.length - 1)) + append(setStrSpan(text, 28, getColor(R.color.col_02c), Typeface.BOLD, 0, text.length - 1)) append("\t") var selectStarImage = context.getDrawable(R.mipmap.ic_sel_sleep) selectStarImage?.setBounds( @@ -157,7 +157,7 @@ class SleepStaticDayFrag : BaseVmFrag() { var percent = "${score + 1}%"//临时值,目前没有这个排名 app写的分数+1 var content = String.format(getString(R.string.sleep_rank), percent) text = - setStrSpan(content, 13, getColor(R.color.col_25C), Typeface.BOLD, content.length - 3 - percent.length, content.length - 3) + setStrSpan(content, 13, getColor(R.color.col_02c), Typeface.BOLD, content.length - 3 - percent.length, content.length - 3) } } } diff --git a/health/src/main/res/drawable/shape_tab_indicator.xml b/health/src/main/res/drawable/shape_tab_indicator.xml index 7e4440b..5d29aa5 100644 --- a/health/src/main/res/drawable/shape_tab_indicator.xml +++ b/health/src/main/res/drawable/shape_tab_indicator.xml @@ -2,7 +2,7 @@ - + diff --git a/health/src/main/res/layout/act_add_family_guardian.xml b/health/src/main/res/layout/act_add_family_guardian.xml index e9c17af..3d14c73 100644 --- a/health/src/main/res/layout/act_add_family_guardian.xml +++ b/health/src/main/res/layout/act_add_family_guardian.xml @@ -135,6 +135,7 @@ android:background="@drawable/shape_r25_02c" android:text="绑定" android:textColor="@color/white" + android:textSize="@dimen/sp_18" android:gravity="center" android:layout_alignParentBottom="true" android:layout_marginBottom="@dimen/dp_30" diff --git a/health/src/main/res/layout/frag_xtang.xml b/health/src/main/res/layout/frag_xtang.xml index f9b4bc4..83111e2 100644 --- a/health/src/main/res/layout/frag_xtang.xml +++ b/health/src/main/res/layout/frag_xtang.xml @@ -242,7 +242,7 @@ android:gravity="center" android:padding="@dimen/dp_6" android:text="开通" - android:textColor="@color/col_8D0" + android:textColor="@color/col_02c" android:textSize="@dimen/sp_13" android:textStyle="bold" android:visibility="gone" /> diff --git a/mine/src/main/res/layout/act_about.xml b/mine/src/main/res/layout/act_about.xml index 9dee61c..cf03e41 100644 --- a/mine/src/main/res/layout/act_about.xml +++ b/mine/src/main/res/layout/act_about.xml @@ -30,7 +30,7 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="@dimen/dp_18" - android:text="中健356" + android:text="中健365" android:textColor="@color/col_455" android:textSize="@dimen/sp_17" android:textStyle="bold" /> diff --git a/mine/src/main/res/layout/act_dev_info.xml b/mine/src/main/res/layout/act_dev_info.xml index 0dc42d9..a3d3ad1 100644 --- a/mine/src/main/res/layout/act_dev_info.xml +++ b/mine/src/main/res/layout/act_dev_info.xml @@ -119,6 +119,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="续期或信号问题请联系客服" + android:textSize="@dimen/sp_16" android:textColor="@color/col_c7c" android:layout_gravity="center"/> @@ -131,6 +132,7 @@ android:textColor="@color/white" android:textStyle="bold" android:gravity="center" + android:textSize="@dimen/sp_16" android:layout_marginTop="@dimen/dp_25" android:layout_marginLeft="@dimen/dp_25" android:layout_marginRight="@dimen/dp_25" diff --git a/network/src/main/java/com/xty/network/model/FoodRecoginzeInfo.kt b/network/src/main/java/com/xty/network/model/FoodRecoginzeInfo.kt index bfee988..0b83b48 100644 --- a/network/src/main/java/com/xty/network/model/FoodRecoginzeInfo.kt +++ b/network/src/main/java/com/xty/network/model/FoodRecoginzeInfo.kt @@ -3,38 +3,39 @@ package com.xty.network.model import java.nio.DoubleBuffer data class FoodRecoginzeInfo( - val heat:Double, //热量(大卡/100g) - val df:Double, //膳食纤维(g/100g - val cho:Double,//碳水化合物(g/100g) + val id:Long, + val heat:Float, //热量(大卡/100g) + val df:Float, //膳食纤维(g/100g + val cho:Float,//碳水化合物(g/100g) - val chol:Double,//胆固醇(mg/100g) + val chol:Float,//胆固醇(mg/100g) - val na:Double,//钠(mg/100g) + val na:Float,//钠(mg/100g) - val vit_a:Double,//维生素A(μg/100g) + val vit_a:Float,//维生素A(μg/100g) - val vit_b1:Double,//维生素B1(mg/100g) + val vit_b1:Float,//维生素B1(mg/100g) - val vit_c:Double,//维生素C(mg/100g) + val vit_c:Float,//维生素C(mg/100g) - val faca:Double,//质量(g) + val faca:Float,//质量(g) - val protein:Double,//蛋白质(g/100g) + val protein:Float,//蛋白质(g/100g) - val vit_b2:Double,//维生素B2(mg/100g) - val vpp:Double,//烟酸(mg/100g) + val vit_b2:Float,//维生素B2(mg/100g) + val vpp:Float,//烟酸(mg/100g) - val vit_e:Double,//维生素E(mg/100g) + val vit_e:Float,//维生素E(mg/100g) val name:String,//食品中文名 - val fat:Double,//脂肪(g/100g) + val fat:Float,//脂肪(g/100g) - val ca:Double,//钙(mg/100g) + val ca:Float,//钙(mg/100g) val as_name:String,//别名 - val fe:Double//铁(mg/100g) - + val fe:Float,//铁(mg/100g) + var isCheck:Boolean = false ) { } \ No newline at end of file