Procházet zdrojové kódy

feat: 我的页面

DoggyZhang před 2 měsíci
rodič
revize
ce79dfd8bc

+ 1 - 1
app/src/main/java/com/adealink/weparty/commonui/widget/CommonButton.kt

@@ -132,7 +132,7 @@ class CommonButton @JvmOverloads constructor(
         context.withStyledAttributes(attrs, R.styleable.CommonButton) {
             buttonRadius = getDimension(
                 R.styleable.CommonButton_button_radius,
-                24.dpf()
+                100.dpf()
             )
             text = getString(R.styleable.CommonButton_text)
             textSize =

+ 5 - 0
app/src/main/res/values/strings.xml

@@ -346,4 +346,9 @@
     <string name="common_widget_picture_validate_require_fail">%s不能为空,请按照要求选择图片</string>
     <string name="common_widget_picture_validate_min_error">%1$s至少需要选择%2$s张图片</string>
     <string name="common_widget_picture_validate_max_error">%1$s至多可选择%2$s张图片</string>
+    <string name="common_this_week_income">This Week\'s Income</string>
+    <string name="common_today_exposure">Today\'s Exposure</string>
+    <string name="common_recent_visitor">Recent Visitors</string>
+    <string name="common_accept_order_open_service">Open For Business</string>
+    <string name="common_accept_order_open_service_tips">Activate the status of grabbing orders</string>
 </resources>

+ 0 - 11
module/profile/src/main/java/com/adealink/weparty/profile/me/comp/MeFunctionCenterComp.kt

@@ -30,9 +30,6 @@ class MeFunctionCenterComp(
         binding.clOrder.onClick {
             goOrderList()
         }
-        binding.clPlaymateOrder.onClick {
-            goPlaymateOrderList()
-        }
         binding.clJoinUs.onClick {
             goJoinUs()
         }
@@ -48,10 +45,8 @@ class MeFunctionCenterComp(
         profileViewModel.userInfoLD.observe(viewLifecycleOwner) { userInfo ->
             userInfo ?: return@observe
             if (userInfo.isPlaymate()) {
-                binding.clPlaymateOrder.show()
                 binding.clJoinUs.gone()
             } else {
-                binding.clPlaymateOrder.gone()
                 binding.clJoinUs.show()
             }
         }
@@ -63,12 +58,6 @@ class MeFunctionCenterComp(
         }
     }
 
-    private fun goPlaymateOrderList() {
-        activity?.let { act ->
-            Router.build(act, Order.PlaymateList.PATH).start()
-        }
-    }
-
     private fun goHelpCenter() {
         activity?.let { act ->
             Router.build(act, Setting.HelpCenter.PATH).start()

+ 12 - 1
module/profile/src/main/res/layout/fragment_me.xml

@@ -62,6 +62,17 @@
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toBottomOf="@id/v_playmate_share" />
 
+            <!-- 接单中心 -->
+            <include
+                android:id="@+id/v_order_manager"
+                layout="@layout/layout_me_accept_order"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="16dp"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/v_wallet" />
+
             <!-- 功能中心 -->
             <include
                 android:id="@+id/v_function_center"
@@ -71,7 +82,7 @@
                 android:layout_marginTop="16dp"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/v_wallet" />
+                app:layout_constraintTop_toBottomOf="@id/v_order_manager" />
 
         </androidx.constraintlayout.widget.ConstraintLayout>
 

+ 269 - 0
module/profile/src/main/res/layout/layout_me_accept_order.xml

@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@drawable/profile_me_item_bg"
+    android:paddingBottom="12dp"
+    tools:ignore="HardcodedText">
+
+    <androidx.appcompat.widget.AppCompatTextView
+        android:id="@+id/tv_accept_order"
+        android:layout_width="wrap_content"
+        android:layout_height="40dp"
+        android:layout_marginStart="16dp"
+        android:fontFamily="@font/poppins_semibold"
+        android:gravity="start|center_vertical"
+        android:includeFontPadding="false"
+        android:text="@string/profile_me_accept_order"
+        android:textColor="@color/color_FF1D2129"
+        android:textSize="16sp"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <androidx.appcompat.widget.AppCompatImageView
+        android:layout_width="16dp"
+        android:layout_height="16dp"
+        android:layout_marginEnd="16dp"
+        app:layout_constraintBottom_toBottomOf="@id/tv_accept_order"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="@id/tv_accept_order"
+        app:srcCompat="@drawable/common_go_ic" />
+
+    <!--本周收入-->
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/cl_income"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="16dp"
+        android:paddingHorizontal="12dp"
+        android:paddingBottom="16dp"
+        app:layout_constraintEnd_toStartOf="@id/cl_exposure"
+        app:layout_constraintHorizontal_weight="2"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/tv_accept_order">
+
+        <androidx.appcompat.widget.AppCompatImageView
+            android:id="@+id/iv_income"
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            app:layout_constraintBottom_toBottomOf="@id/tv_income"
+            app:layout_constraintEnd_toStartOf="@id/tv_income"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="@id/tv_income"
+            app:srcCompat="@drawable/common_wallet_bean_ic" />
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:id="@+id/tv_income"
+            android:layout_width="wrap_content"
+            android:layout_height="36dp"
+            android:layout_marginStart="3dp"
+            android:ellipsize="end"
+            android:fontFamily="@font/poppins_semibold"
+            android:gravity="center"
+            android:includeFontPadding="false"
+            android:singleLine="true"
+            android:text="0"
+            android:textColor="@color/color_FF1D2129"
+            android:textSize="24sp"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@id/iv_income"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginHorizontal="4dp"
+            android:layout_marginTop="6dp"
+            android:ellipsize="end"
+            android:gravity="center"
+            android:includeFontPadding="false"
+            android:maxLines="2"
+            android:text="@string/common_this_week_income"
+            android:textColor="@color/color_FF4E5969"
+            android:textSize="12sp"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/tv_income" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+    <View
+        android:layout_width="1dp"
+        android:layout_height="36dp"
+        android:background="@color/color_FFD9D9D9"
+        app:layout_constraintBottom_toBottomOf="@id/cl_income"
+        app:layout_constraintStart_toEndOf="@id/cl_income"
+        app:layout_constraintTop_toTopOf="@id/cl_income" />
+
+    <!--今日曝光-->
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/cl_exposure"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:paddingHorizontal="12dp"
+        android:paddingBottom="16dp"
+        app:layout_constraintEnd_toStartOf="@id/cl_visitor"
+        app:layout_constraintHorizontal_weight="1"
+        app:layout_constraintStart_toEndOf="@id/cl_income"
+        app:layout_constraintTop_toBottomOf="@id/tv_accept_order">
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:id="@+id/tv_exposure"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="3dp"
+            android:layout_marginTop="4dp"
+            android:ellipsize="end"
+            android:fontFamily="@font/poppins_semibold"
+            android:gravity="center"
+            android:includeFontPadding="false"
+            android:singleLine="true"
+            android:text="0"
+            android:textColor="@color/color_FF1D2129"
+            android:textSize="18sp"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="2dp"
+            android:ellipsize="end"
+            android:gravity="center"
+            android:includeFontPadding="false"
+            android:maxLines="2"
+            android:text="@string/common_today_exposure"
+            android:textColor="@color/color_FF4E5969"
+            android:textSize="12sp"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/tv_exposure" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+    <!--本周收入-->
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/cl_visitor"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginEnd="16dp"
+        android:paddingHorizontal="12dp"
+        android:paddingBottom="16dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintHorizontal_weight="1"
+        app:layout_constraintStart_toEndOf="@id/cl_exposure"
+        app:layout_constraintTop_toBottomOf="@id/tv_accept_order">
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:id="@+id/tv_visitor"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="3dp"
+            android:layout_marginTop="4dp"
+            android:ellipsize="end"
+            android:fontFamily="@font/poppins_semibold"
+            android:gravity="center"
+            android:includeFontPadding="false"
+            android:singleLine="true"
+            android:text="0"
+            android:textColor="@color/color_FF1D2129"
+            android:textSize="18sp"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="2dp"
+            android:ellipsize="end"
+            android:gravity="center"
+            android:includeFontPadding="false"
+            android:maxLines="2"
+            android:text="@string/common_recent_visitor"
+            android:textColor="@color/color_FF4E5969"
+            android:textSize="12sp"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/tv_visitor" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+    <androidx.constraintlayout.widget.Barrier
+        android:id="@+id/barrier_bottom"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        app:barrierDirection="bottom"
+        app:constraint_referenced_ids="cl_income,cl_exposure,cl_visitor" />
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginHorizontal="12dp"
+        android:layout_marginTop="12dp"
+        android:minHeight="54dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/barrier_bottom">
+
+        <com.adealink.weparty.commonui.widget.CommonButton
+            android:id="@+id/btn_service"
+            android:layout_width="0dp"
+            android:layout_height="0dp"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:id="@+id/tv_service"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="3dp"
+            android:ellipsize="end"
+            android:fontFamily="@font/poppins_semibold"
+            android:gravity="center"
+            android:includeFontPadding="false"
+            android:singleLine="true"
+            android:text="@string/common_accept_order_open_service"
+            android:textColor="@color/white"
+            android:textSize="16sp"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintBottom_toTopOf="@id/tv_service_tips"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintVertical_chainStyle="packed" />
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:id="@+id/tv_service_tips"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:ellipsize="end"
+            android:gravity="center"
+            android:includeFontPadding="false"
+            android:maxLines="2"
+            android:singleLine="true"
+            android:text="@string/common_accept_order_open_service_tips"
+            android:textColor="@color/white"
+            android:textSize="11sp"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/tv_service" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 2 - 41
module/profile/src/main/res/layout/layout_me_function.xml

@@ -27,7 +27,7 @@
         android:layout_height="wrap_content"
         android:paddingTop="10dp"
         android:paddingBottom="16dp"
-        app:layout_constraintEnd_toStartOf="@id/cl_playmate_order"
+        app:layout_constraintEnd_toStartOf="@id/cl_join_us"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toBottomOf="@id/tv_wallet">
 
@@ -57,45 +57,6 @@
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 
-    <!--接单记录-->
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/cl_playmate_order"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:paddingTop="10dp"
-        android:paddingBottom="16dp"
-        android:visibility="gone"
-        app:layout_constraintEnd_toStartOf="@id/cl_join_us"
-        app:layout_constraintStart_toEndOf="@id/cl_order"
-        app:layout_constraintTop_toBottomOf="@id/tv_wallet"
-        tools:visibility="visible">
-
-        <androidx.appcompat.widget.AppCompatImageView
-            android:layout_width="24dp"
-            android:layout_height="24dp"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:srcCompat="@drawable/profile_me_order_record_ic" />
-
-        <androidx.appcompat.widget.AppCompatTextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginHorizontal="4dp"
-            android:layout_marginTop="32dp"
-            android:ellipsize="end"
-            android:gravity="center"
-            android:includeFontPadding="false"
-            android:text="@string/profile_playmate_order"
-            android:textColor="@color/color_FF4E5969"
-            android:textSize="12sp"
-            app:layout_constrainedWidth="true"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
     <!--申请成为陪玩师-->
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/cl_join_us"
@@ -105,7 +66,7 @@
         android:paddingBottom="16dp"
         android:visibility="gone"
         app:layout_constraintEnd_toStartOf="@id/cl_help_center"
-        app:layout_constraintStart_toEndOf="@id/cl_playmate_order"
+        app:layout_constraintStart_toEndOf="@id/cl_order"
         app:layout_constraintTop_toBottomOf="@id/tv_wallet"
         tools:visibility="visible">
 

+ 49 - 1
module/profile/src/main/res/layout/layout_me_header.xml

@@ -100,6 +100,7 @@
             android:layout_height="38dp"
             android:layout_marginTop="16dp"
             app:layout_constraintEnd_toStartOf="@id/cl_fans"
+            app:layout_constraintHorizontal_weight="1"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@id/bottom_barrier">
 
@@ -144,7 +145,8 @@
             android:layout_width="0dp"
             android:layout_height="38dp"
             android:layout_marginTop="16dp"
-            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintEnd_toStartOf="@id/cl_visitor"
+            app:layout_constraintHorizontal_weight="1"
             app:layout_constraintStart_toEndOf="@id/cl_follow"
             app:layout_constraintTop_toBottomOf="@id/bottom_barrier">
 
@@ -175,6 +177,52 @@
 
         </androidx.constraintlayout.widget.ConstraintLayout>
 
+        <View
+            android:layout_width="1dp"
+            android:layout_height="22dp"
+            android:background="@color/color_FFD9D9D9"
+            app:layout_constraintBottom_toBottomOf="@id/cl_follow"
+            app:layout_constraintStart_toEndOf="@id/cl_fans"
+            app:layout_constraintTop_toTopOf="@id/cl_follow" />
+
+        <!--粉丝-->
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:id="@+id/cl_visitor"
+            android:layout_width="0dp"
+            android:layout_height="38dp"
+            android:layout_marginTop="16dp"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintHorizontal_weight="1"
+            app:layout_constraintStart_toEndOf="@id/cl_fans"
+            app:layout_constraintTop_toBottomOf="@id/bottom_barrier">
+
+            <androidx.appcompat.widget.AppCompatTextView
+                android:id="@+id/tv_visitor_count"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:fontFamily="@font/poppins_semibold"
+                android:includeFontPadding="false"
+                android:text="0"
+                android:textColor="@color/color_FF1D2129"
+                android:textSize="18sp"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent"
+                tools:ignore="HardcodedText" />
+
+            <androidx.appcompat.widget.AppCompatTextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:includeFontPadding="false"
+                android:text="@string/profile_me_visitors"
+                android:textColor="@color/color_FF1D2129"
+                android:textSize="12sp"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent" />
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
     </androidx.constraintlayout.widget.ConstraintLayout>
 
     <com.adealink.weparty.commonui.imageview.AvatarView

+ 2 - 0
module/profile/src/main/res/values/strings.xml

@@ -34,7 +34,9 @@
     <string name="profile_me_homepage_label">Homepage</string>
     <string name="profile_me_follower">Follower</string>
     <string name="profile_me_fans">Fans</string>
+    <string name="profile_me_visitors">Visitor</string>
     <string name="profile_me_function_center">Function Center</string>
+    <string name="profile_me_accept_order">Accept Orders</string>
     <string name="profile_edit_avatar">Profile Photo</string>
     <string name="profile_edit_photo_wall_title">Photo Wall (%1$s/%2$s)</string>
     <string name="profile_edit_photo_wall_desc">It is recommended to upload clear photos for a comprehensive view of your image</string>