From 549e8d303f1b7cd82c22f13dcf9c84e9114c9dcf Mon Sep 17 00:00:00 2001 From: lvmeng <848755140@qq.com> Date: Thu, 19 Mar 2026 17:44:13 +0800 Subject: [PATCH] =?UTF-8?q?=E8=81=94=E5=90=88=E6=94=AF=E4=BB=98=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sw/dualscreen/activity/MainActivity.kt | 20 +++- .../adapter/CollectFoodListAdapter.kt | 6 +- .../presentation/MainScreenPresentation.kt | 1 + .../res/drawable-xxhdpi/ic_flag_calorie.png | Bin 0 -> 3103 bytes .../res/drawable-xxhdpi/ic_flag_weight.png | Bin 0 -> 1603 bytes .../main/res/drawable-xxhdpi/ic_take_food.png | Bin 0 -> 4012 bytes app/src/main/res/layout/activity_setting.xml | 6 +- app/src/main/res/layout/fragment_collect.xml | 22 ++--- app/src/main/res/layout/layout_eat_detail.xml | 90 ++++++++++++++++++ app/src/main/res/layout/layout_title_bar.xml | 2 +- .../res/layout/list_item_food_collection.xml | 3 +- .../main/res/layout/list_item_search_food.xml | 4 +- .../res/layout/list_item_search_food2.xml | 4 +- .../res/layout/list_item_search_food3.xml | 18 ++++ .../res/layout/presentation_main_screen.xml | 13 ++- 15 files changed, 160 insertions(+), 29 deletions(-) create mode 100644 app/src/main/res/drawable-xxhdpi/ic_flag_calorie.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_flag_weight.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_take_food.png create mode 100644 app/src/main/res/layout/layout_eat_detail.xml create mode 100644 app/src/main/res/layout/list_item_search_food3.xml diff --git a/app/src/main/java/com/sw/dualscreen/activity/MainActivity.kt b/app/src/main/java/com/sw/dualscreen/activity/MainActivity.kt index 34ba397..64f579a 100644 --- a/app/src/main/java/com/sw/dualscreen/activity/MainActivity.kt +++ b/app/src/main/java/com/sw/dualscreen/activity/MainActivity.kt @@ -134,7 +134,7 @@ class MainActivity : BaseActivity() { private var bottomSheetDialog: CustomBottomSheetDialog? = null private var lastWeight: Double = 0.0 private var lastPhotoUri: Uri? = null // 最后拍照的图片 - private var debouncer = Debouncer(2000) + private var debouncer = Debouncer(5000) private var isRecognitionFood = true private var isFirstOpen = true @@ -263,7 +263,9 @@ class MainActivity : BaseActivity() { //0.05 // val isWeightChange = abs(weight - lastWeight) > 0.02 val isWeightChange = weight - lastWeight > 0.02 - log("recognizeByWeight---00001,weight=$weight,lastWeight=$lastWeight,isWeightChange=$isWeightChange") + if (weight != lastWeight) { + log("recognizeByWeight---00001,weight=$weight,lastWeight=$lastWeight,isWeightChange=$isWeightChange") + } recognizeByWeight(weight, isWeightChange) } } @@ -278,7 +280,7 @@ class MainActivity : BaseActivity() { return } - if (isWeightChange && isRecognitionFood) { // 大于50g + if (isWeightChange && isRecognitionFood) { log("recognizeByWeight---00003,mealPickupMode=${presentation?.mealPickupMode}") if (presentation?.mealPickupMode == 1) { isRecognitionFood = false @@ -293,8 +295,9 @@ class MainActivity : BaseActivity() { } else { block() } - - if (presentation?.mealPickupMode == 1) { + //0-联合支付,1-独立支付 + val settlementMode = SPUtil.getInstance().get(GlobalKey.KEY_SETTLEMENT_MODE, 1) + if (presentation?.mealPickupMode == 1 || settlementMode == 0) { lastWeight = weight } } @@ -1085,6 +1088,13 @@ class MainActivity : BaseActivity() { } } + /** + * 隐藏搜索按钮 + */ + fun hideSearchView() { + binding.tvToSearch.gone() + } + // @Subscribe(threadMode = ThreadMode.MAIN) // public fun onResetBox(event: ResetBoxEvent) { // ObjectBox.boxStore.close() diff --git a/app/src/main/java/com/sw/dualscreen/adapter/CollectFoodListAdapter.kt b/app/src/main/java/com/sw/dualscreen/adapter/CollectFoodListAdapter.kt index aa00bc3..f7c6490 100644 --- a/app/src/main/java/com/sw/dualscreen/adapter/CollectFoodListAdapter.kt +++ b/app/src/main/java/com/sw/dualscreen/adapter/CollectFoodListAdapter.kt @@ -7,17 +7,17 @@ import androidx.core.graphics.toColorInt import com.chad.library.adapter4.BaseQuickAdapter import com.chad.library.adapter4.viewholder.QuickViewHolder import com.sw.dualscreen.R -import com.sw.dualscreen.databinding.ListItemSearchFoodBinding +import com.sw.dualscreen.databinding.ListItemSearchFood3Binding import com.sw.dualscreen.ext.format2String import com.sw.dualscreen.model.response.FoodInfo class CollectFoodListAdapter(var list: MutableList) : BaseQuickAdapter(list) { - inner class VH(var binding: ListItemSearchFoodBinding) : QuickViewHolder(binding.root) + inner class VH(var binding: ListItemSearchFood3Binding) : QuickViewHolder(binding.root) override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): VH { val inflater = LayoutInflater.from(context) - val binding = ListItemSearchFoodBinding.inflate(inflater, parent, false) + val binding = ListItemSearchFood3Binding.inflate(inflater, parent, false) return VH(binding) } diff --git a/app/src/main/java/com/sw/dualscreen/presentation/MainScreenPresentation.kt b/app/src/main/java/com/sw/dualscreen/presentation/MainScreenPresentation.kt index e50bf33..f254ee1 100644 --- a/app/src/main/java/com/sw/dualscreen/presentation/MainScreenPresentation.kt +++ b/app/src/main/java/com/sw/dualscreen/presentation/MainScreenPresentation.kt @@ -519,6 +519,7 @@ class MainScreenPresentation( pauseCamera() activity.clearFoodList() + activity.hideSearchView() } // fun foodRecSuccess(foodInfo: FoodInfo) { diff --git a/app/src/main/res/drawable-xxhdpi/ic_flag_calorie.png b/app/src/main/res/drawable-xxhdpi/ic_flag_calorie.png new file mode 100644 index 0000000000000000000000000000000000000000..de0405dcb5e36c5262d128cba3ccddad3159fa83 GIT binary patch literal 3103 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 tC)NHB009607LX%x00006NklzV6~Z{K^F?H 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 + android:paddingBottom="10dp"> @@ -111,9 +111,9 @@ @@ -164,22 +164,22 @@ android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginHorizontal="16dp" - android:layout_marginTop="18dp" + android:layout_marginTop="12dp" android:minHeight="348dp" android:layout_weight="1" app:spanCount="2" - tools:itemCount="10" + tools:itemCount="11" android:overScrollMode="never" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" - tools:listitem="@layout/list_item_search_food"/> + tools:listitem="@layout/list_item_search_food3"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/layout_title_bar.xml b/app/src/main/res/layout/layout_title_bar.xml index 1ff98b7..3036160 100644 --- a/app/src/main/res/layout/layout_title_bar.xml +++ b/app/src/main/res/layout/layout_title_bar.xml @@ -2,7 +2,7 @@ + android:layout_height="130dp"> + \ No newline at end of file diff --git a/app/src/main/res/layout/presentation_main_screen.xml b/app/src/main/res/layout/presentation_main_screen.xml index 2e0e279..2bfcea1 100644 --- a/app/src/main/res/layout/presentation_main_screen.xml +++ b/app/src/main/res/layout/presentation_main_screen.xml @@ -13,11 +13,13 @@ android:padding="28dp"> + android:paddingBottom="26dp" + android:visibility="gone"> + +