添加了用户营养信息界面

This commit is contained in:
zxj
2025-08-01 16:49:34 +08:00
parent c78279a66e
commit 16554805ad
3 changed files with 231 additions and 90 deletions
+163 -79
View File
@@ -5,28 +5,28 @@
android:id="@+id/cl_nutritionData" android:id="@+id/cl_nutritionData"
android:layout_width="540dp" android:layout_width="540dp"
android:layout_height="487dp" android:layout_height="487dp"
android:visibility="visible" android:padding="28dp"
android:padding="28dp"> android:visibility="visible">
<TextView <TextView
android:id="@+id/tv_user_name" android:id="@+id/tv_user_name"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:text="夏*秋"
android:textColor="#ffece7d0" android:textColor="#ffece7d0"
android:textSize="20sp" android:textSize="20sp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent"
tools:text="夏*秋" />
<TextView <TextView
android:id="@+id/tv_recommend_heat" android:id="@+id/tv_recommend_heat"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:text="推荐热量:680kcal"
android:textColor="#ffece7d0" android:textColor="#ffece7d0"
android:textSize="20sp" android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_user_name" /> app:layout_constraintTop_toTopOf="@id/tv_user_name"
tools:text="推荐热量:680kcal" />
<View <View
android:id="@+id/divider" android:id="@+id/divider"
@@ -36,105 +36,189 @@
android:background="#19ECE7D0" android:background="#19ECE7D0"
app:layout_constraintTop_toBottomOf="@id/tv_user_name" /> app:layout_constraintTop_toBottomOf="@id/tv_user_name" />
<androidx.constraintlayout.helper.widget.Flow <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_marginTop="40dp" android:layout_marginTop="20dp"
android:paddingBottom="40dp" android:orientation="horizontal">
app:constraint_referenced_ids="fl_heat, fl_staple_food, fl_fruits_vegetables, fl_meat_eggs"
app:flow_wrapMode="none"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<FrameLayout <RelativeLayout
android:id="@+id/fl_heat" style="@style/takeFoodLayout"
android:layout_width="wrap_content" android:layout_weight="2">
android:layout_height="wrap_content">
<LinearLayout
style="@style/takeFoodWeightLayout"
android:layout_above="@id/divKcalView">
<TextView
android:id="@+id/totalKcalTv"
style="@style/takeFoodValueTv"
android:text="0" />
<TextView
style="@style/takeFoodValueTv"
android:text="千卡"
android:textSize="@dimen/sp16" />
</LinearLayout>
<View
android:id="@+id/divKcalView"
android:layout_width="1dp"
android:layout_height="@dimen/dp28"
android:layout_above="@id/customKcalColumn"
android:layout_centerHorizontal="true" />
<com.sw.dualscreen.view.CustomImageView <com.sw.dualscreen.view.CustomImageView
android:id="@+id/iv_heat" android:id="@+id/customKcalColumn"
android:layout_width="87dp" android:layout_width="@dimen/dp130"
android:layout_height="0dp" android:layout_height="100dp"
android:layout_gravity="bottom|center" android:layout_above="@id/imgKcal"
android:layout_marginBottom="33dp" android:layout_centerHorizontal="true"
android:background="#DB0000" /> android:layout_marginBottom="-36dp"
android:scaleType="fitXY"
android:src="@drawable/ic_cylinder_red_big" />
<ImageView <ImageView
android:layout_width="87dp" android:id="@+id/imgKcal"
android:layout_height="wrap_content" android:layout_width="@dimen/dp160"
android:src="@drawable/ic_cylinder_red_small" /> android:layout_height="@dimen/dp66"
android:layout_above="@id/kcalTv"
<ImageView android:layout_centerHorizontal="true"
android:layout_width="wrap_content" android:scaleType="fitXY"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center"
android:layout_marginBottom="33dp"
android:src="@drawable/ic_heat" /> android:src="@drawable/ic_heat" />
<TextView <TextView
android:layout_width="wrap_content" android:id="@+id/kcalTv"
android:layout_height="wrap_content" style="@style/takeFoodNameTv"
android:layout_gravity="bottom|center" android:text="热量" />
android:text="热量"
android:textColor="#fff0e6dc"
android:textSize="20sp" />
</FrameLayout>
<FrameLayout </RelativeLayout>
android:id="@+id/fl_staple_food"
android:layout_width="wrap_content" <RelativeLayout style="@style/takeFoodLayout">
android:layout_height="match_parent">
<LinearLayout
style="@style/takeFoodWeightLayout"
android:layout_above="@id/divTotalFoodView">
<TextView
android:id="@+id/totalFoodTv"
style="@style/takeFoodValueTv"
android:text="0" />
<TextView
style="@style/takeFoodValueTv"
android:text="克"
android:textSize="@dimen/sp16" />
</LinearLayout>
<View
android:id="@+id/divTotalFoodView"
android:layout_width="1dp"
android:layout_height="@dimen/dp28"
android:layout_above="@id/customFoodColumn"
android:layout_centerHorizontal="true" />
<com.sw.dualscreen.view.CustomImageView <com.sw.dualscreen.view.CustomImageView
android:id="@+id/iv_staple_food" android:id="@+id/customFoodColumn"
android:layout_width="87dp" style="@style/takeFoodCustomColumn"
android:layout_above="@id/imgFood" />
<ImageView
android:id="@+id/imgFood"
android:layout_width="wrap_content"
android:layout_height="100dp" android:layout_height="100dp"
android:layout_gravity="bottom|center" android:scaleType="fitXY"
android:src="#99CC99" /> android:layout_above="@id/foodTv"
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center"
android:src="@drawable/ic_staple_food" /> android:src="@drawable/ic_staple_food" />
</FrameLayout>
<FrameLayout <TextView
android:id="@+id/fl_fruits_vegetables" android:id="@+id/foodTv"
android:layout_width="wrap_content" style="@style/takeFoodNameTv"
android:layout_height="match_parent"> android:text="主食" />
</RelativeLayout>
<RelativeLayout style="@style/takeFoodLayout">
<LinearLayout
style="@style/takeFoodWeightLayout"
android:layout_above="@id/divVegetableView">
<TextView
android:id="@+id/totalVegetableTv"
style="@style/takeFoodValueTv"
android:text="0" />
<TextView
style="@style/takeFoodValueTv"
android:text="克"
android:textSize="@dimen/sp16" />
</LinearLayout>
<View
android:id="@+id/divVegetableView"
android:layout_width="1dp"
android:layout_height="@dimen/dp28"
android:layout_above="@id/customVegetableColumn"
android:layout_centerHorizontal="true" />
<com.sw.dualscreen.view.CustomImageView <com.sw.dualscreen.view.CustomImageView
android:id="@+id/iv_fruits_vegetables" android:id="@+id/customVegetableColumn"
android:layout_width="87dp" style="@style/takeFoodCustomColumn"
android:layout_height="match_parent" android:layout_above="@id/imgVegetable" />
android:layout_gravity="bottom|center" />
<ImageView <ImageView
android:layout_width="wrap_content" android:id="@+id/imgVegetable"
android:layout_height="wrap_content" style="@style/takeFoodImg"
android:layout_gravity="bottom|center" android:layout_above="@id/vegetableTv"
android:src="@drawable/ic_fruits_vegetables" /> android:src="@drawable/ic_fruits_vegetables" />
</FrameLayout>
<FrameLayout <TextView
android:id="@+id/fl_meat_eggs" android:id="@+id/vegetableTv"
android:layout_width="wrap_content" style="@style/takeFoodNameTv"
android:layout_height="match_parent"> android:text="果蔬" />
</RelativeLayout>
<RelativeLayout style="@style/takeFoodLayout">
<LinearLayout
style="@style/takeFoodWeightLayout"
android:layout_above="@id/divMeatView">
<TextView
android:id="@+id/totalMeatTv"
style="@style/takeFoodValueTv"
android:text="0" />
<TextView
style="@style/takeFoodValueTv"
android:text="克"
android:textSize="@dimen/sp16" />
</LinearLayout>
<View
android:id="@+id/divMeatView"
android:layout_width="1dp"
android:layout_height="@dimen/dp28"
android:layout_above="@id/customMeatColumn"
android:layout_centerHorizontal="true" />
<com.sw.dualscreen.view.CustomImageView <com.sw.dualscreen.view.CustomImageView
android:id="@+id/iv_meat_eggs" android:id="@+id/customMeatColumn"
android:layout_width="87dp" style="@style/takeFoodCustomColumn"
android:layout_height="match_parent" android:layout_above="@id/imgMeat" />
android:layout_gravity="bottom|center" />
<ImageView <ImageView
android:layout_width="wrap_content" android:id="@+id/imgMeat"
android:layout_height="wrap_content" style="@style/takeFoodImg"
android:layout_gravity="bottom|center" android:layout_above="@id/meatTv"
android:src="@drawable/ic_meat_eggs" /> android:src="@drawable/ic_meat_eggs" />
</FrameLayout>
<TextView
android:id="@+id/meatTv"
style="@style/takeFoodNameTv"
android:text="蛋肉" />
</RelativeLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
+8
View File
@@ -1,4 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<dimen name="bottom_sheet_height">1000dp</dimen> <dimen name="bottom_sheet_height">1000dp</dimen>
<dimen name="sp16">16sp</dimen>
<dimen name="sp30">30sp</dimen>
<dimen name="dp28">28dp</dimen>
<dimen name="dp120">120dp</dimen>
<dimen name="dp130">130dp</dimen>
<dimen name="dp160">160dp</dimen>
<dimen name="dp66">66dp</dimen>
<dimen name="dp80">80dp</dimen>
</resources> </resources>
+49
View File
@@ -66,4 +66,53 @@
<item name="divider">@color/white</item> <item name="divider">@color/white</item>
<item name="android:dividerHeight">1dp</item> <item name="android:dividerHeight">1dp</item>
</style> </style>
<style name="takeFoodLayout">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">match_parent</item>
<item name="android:gravity">bottom</item>
<item name="android:layout_weight">1</item>
</style>
<style name="takeFoodWeightLayout">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_centerHorizontal">true</item>
<item name="android:gravity">bottom</item>
<item name="android:layout_marginBottom">20dp</item>
<item name="android:orientation">horizontal</item>
</style>
<style name="takeFoodValueTv">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textSize">@dimen/sp30</item>
<item name="android:textColor">#F0E6DC</item>
</style>
<style name="takeFoodCustomColumn">
<item name="android:layout_width">@dimen/dp80</item>
<item name="android:layout_height">100dp</item>
<item name="android:layout_centerHorizontal">true</item>
<item name="android:layout_marginBottom">-36dp</item>
<item name="android:scaleType">fitXY</item>
<item name="android:src">@drawable/ic_cylinder_green_big</item>
</style>
<style name="takeFoodImg">
<item name="android:layout_width">@dimen/dp120</item>
<item name="android:layout_height">@dimen/dp66</item>
<item name="android:layout_centerHorizontal">true</item>
<item name="android:scaleType">fitXY</item>
</style>
<style name="takeFoodNameTv">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#F0E6DC</item>
<item name="android:textSize">@dimen/sp30</item>
<item name="android:textStyle">bold</item>
<item name="android:layout_marginTop">50dp</item>
<item name="android:layout_centerHorizontal">true</item>
</style>
</resources> </resources>