diff --git a/app/src/main/java/com/sw/dualscreen/presentation/SecondaryScreenPresentation.kt b/app/src/main/java/com/sw/dualscreen/presentation/SecondaryScreenPresentation.kt
index e24f8cf..f05f518 100644
--- a/app/src/main/java/com/sw/dualscreen/presentation/SecondaryScreenPresentation.kt
+++ b/app/src/main/java/com/sw/dualscreen/presentation/SecondaryScreenPresentation.kt
@@ -93,14 +93,13 @@ class SecondaryScreenPresentation(
window?.setBackgroundDrawableResource(android.R.color.transparent)
initView()
setupArcCamera()
-// binding.includeUserHeat.ivHeat.showText("1070千卡")
registerDataChange()
}
private fun registerDataChange() {
activity.lifecycleScope.launch {
viewModel.loadFaceResult.collect { needUpdate ->
- if (needUpdate){
+ if (needUpdate) {
recognizeViewModel.refreshFaceList()
}
}
@@ -286,7 +285,9 @@ class SecondaryScreenPresentation(
mealPickupMode = mode
}
- private fun calculateNutrition(weight: Double) {
+ private fun calculateNutrition(weight1: Double) {
+ var weight = weight1
+ if (weight < 0) weight = 0.0
debouncer.debounce {
Timber.d("calculateNutrition weight = $weight, recognitionWeight = $recognitionWeight")
val dinnerType = dinnerTypeInfo!!.dinnerType!!.dinnerType!!
@@ -312,43 +313,76 @@ class SecondaryScreenPresentation(
)
var maxKcal = totalKcal.max
Timber.d("maxKcal = $maxKcal")
+ // 避免0作为被除数
if (maxKcal <= 0.0) {
- maxKcal = 100.0
+ maxKcal = 1.0
}
Timber.d("maxKcal 1 = $maxKcal")
itemUserNutritionBinding.totalKcalTv.text = totalKcal.current.format2String()
+ var totalKcalHeight = (totalKcal.current / maxKcal).toFloat()
+ if (totalKcalHeight == 0F) {
+ itemUserNutritionBinding.divKcalView.visibility = View.VISIBLE
+ } else {
+ itemUserNutritionBinding.divKcalView.visibility = View.GONE
+ totalKcalHeight += 0.1F
+ }
itemUserNutritionBinding.customKcalColumn.setCustomHeightPercent(
- (totalKcal.current / maxKcal).toFloat(),
+ totalKcalHeight,
true
)
+
// 设置主食
itemUserNutritionBinding.customFoodColumn.setImageDrawable(
false,
grain.max < grain.current
)
itemUserNutritionBinding.totalFoodTv.text = grain.current.format2String()
+ var grainHeight = (grain.current / columnMax).toFloat()
+ if (grainHeight == 0F) {
+ itemUserNutritionBinding.divTotalFoodView.visibility = View.VISIBLE
+ } else {
+ itemUserNutritionBinding.divTotalFoodView.visibility = View.GONE
+ grainHeight += 0.1F
+ }
itemUserNutritionBinding.customFoodColumn.setCustomHeightPercent(
- (grain.current / columnMax).toFloat(),
+ grainHeight,
true
)
+
// 设置果蔬
itemUserNutritionBinding.customVegetableColumn.setImageDrawable(
false,
fruits.max < fruits.current
)
itemUserNutritionBinding.totalVegetableTv.text = fruits.current.format2String()
+ var fruitsHeight = (fruits.current / columnMax).toFloat()
+
+ if (fruitsHeight == 0F) {
+ itemUserNutritionBinding.divVegetableView.visibility = View.VISIBLE
+ } else {
+ itemUserNutritionBinding.divVegetableView.visibility = View.GONE
+ fruitsHeight += 0.1F
+ }
itemUserNutritionBinding.customVegetableColumn.setCustomHeightPercent(
- (fruits.current / columnMax).toFloat(),
+ fruitsHeight,
true
)
+
// 设置肉蛋
itemUserNutritionBinding.customMeatColumn.setImageDrawable(
false,
meat.max < meat.current
)
itemUserNutritionBinding.totalMeatTv.text = meat.current.format2String()
+ var meatHeight = (meat.current / columnMax).toFloat()
+ if (meatHeight == 0F) {
+ itemUserNutritionBinding.divMeatView.visibility = View.VISIBLE
+ } else {
+ itemUserNutritionBinding.divMeatView.visibility = View.GONE
+ meatHeight += 0.1F
+ }
itemUserNutritionBinding.customMeatColumn.setCustomHeightPercent(
- (meat.current / columnMax).toFloat(),
+ meatHeight,
true
)
}
@@ -542,7 +576,7 @@ class SecondaryScreenPresentation(
val layoutParams = adjustPreviewViewSize(
binding.dualCameraTexturePreviewRgb,
binding.dualCameraTexturePreviewRgb, binding.dualCameraFaceRectView,
- previewSizeRgb, displayOrientation, 1f
+ previewSizeRgb, displayOrientation, 0.6F
)
Timber.d("initRgbCamera previewSizeRgb = ${previewSizeRgb.width}-${previewSizeRgb.height}")
Timber.d("initRgbCamera layoutParams = ${layoutParams.width}-${layoutParams.height}")
diff --git a/app/src/main/java/com/sw/dualscreen/view/CustomImageView.java b/app/src/main/java/com/sw/dualscreen/view/CustomImageView.java
index c0eb760..118d34a 100644
--- a/app/src/main/java/com/sw/dualscreen/view/CustomImageView.java
+++ b/app/src/main/java/com/sw/dualscreen/view/CustomImageView.java
@@ -9,6 +9,7 @@ import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
+import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AlphaAnimation;
@@ -107,9 +108,8 @@ public class CustomImageView extends androidx.appcompat.widget.AppCompatImageVie
// 用于设置自定义高度的方法
public void setCustomHeight(int height, boolean isAnimation) {
Timber.d("setCustomHeight height = %s", height);
- if (height > 0) {
- height += 30;
- }
+
+ setVisibility(height == 0 ? View.GONE : VISIBLE);
if (height > MAX_HEIGHT){
height = MAX_HEIGHT;
}
diff --git a/app/src/main/res/drawable/bg_face.png b/app/src/main/res/drawable/bg_face.png
index 1fe7afb..85ba84b 100644
Binary files a/app/src/main/res/drawable/bg_face.png and b/app/src/main/res/drawable/bg_face.png differ
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 86d8eaf..61df63f 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -60,6 +60,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="食物图预览"
+ android:scaleType="centerCrop"
android:visibility="gone" />
@@ -128,7 +128,7 @@
@@ -181,7 +181,7 @@
@@ -234,7 +234,7 @@
diff --git a/app/src/main/res/layout/presentation_secondary_screen.xml b/app/src/main/res/layout/presentation_secondary_screen.xml
index aad5750..874049c 100644
--- a/app/src/main/res/layout/presentation_secondary_screen.xml
+++ b/app/src/main/res/layout/presentation_secondary_screen.xml
@@ -5,8 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/bg"
- android:gravity="center_horizontal"
- android:orientation="vertical"
+ android:visibility="visible"
tools:context=".activity.MainActivity">
@@ -47,18 +46,18 @@
+
+ android:visibility="visible" />
@@ -107,6 +106,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="img"
+ android:scaleType="centerCrop"
android:visibility="visible" />
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 4c21904..b37dd84 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -3,7 +3,7 @@
1000dp
11sp
20sp
- 16dp
+ 30dp
80dp
87dp
107dp
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 5f1081a..555b080 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -79,7 +79,7 @@
- wrap_content
- true
- bottom
-
+ - 20dp
- horizontal