瀏覽代碼

1.删除我的作品弹窗
2.录音逻辑弹窗(评测-上传-上传成功/上传失败)
3.录音按钮动画效果
4.听示范按钮动画效果
5.支付界面check效果
6.我的订单界面

FailedToRead 3 年之前
父節點
當前提交
148098386b
共有 54 個文件被更改,包括 1541 次插入125 次删除
  1. 9 1
      .idea/misc.xml
  2. 20 0
      app/src/activityLoginAlert/drawable/activity_record_start_anim.xml
  3. 8 0
      app/src/activityLoginAlert/drawable/popup_record_status_over_stars_divider.xml
  4. 7 0
      app/src/activityLoginAlert/drawable/popup_record_uploading_loading_anim.xml
  5. 21 0
      app/src/fragmentRecommend/anim/activity_record_demonstration_anim.xml
  6. 57 0
      app/src/fragmentRecommend/layout/popupwindow_myorder.xml
  7. 117 0
      app/src/fragmentRecommend/layout/popupwindow_record_remove.xml
  8. 7 7
      app/src/fragmentUser/layout/adapter_item_record_authority.xml
  9. 0 0
      app/src/fragmentUser/layout/popupwindow_bind_wechat.xml
  10. 42 70
      app/src/main/AndroidManifest.xml
  11. 37 13
      app/src/main/java/com/edufound/reader/activity/CrashDialogActivity.java
  12. 3 2
      app/src/main/java/com/edufound/reader/activity/MainActivity.java
  13. 26 0
      app/src/main/java/com/edufound/reader/activity/PayActivity.java
  14. 43 1
      app/src/main/java/com/edufound/reader/activity/RecordActivity.java
  15. 69 0
      app/src/main/java/com/edufound/reader/adapter/PopupMyOrderAdapter.java
  16. 45 0
      app/src/main/java/com/edufound/reader/adapter/TestGridAdapter.java
  17. 2 0
      app/src/main/java/com/edufound/reader/application/EApplication.java
  18. 2 1
      app/src/main/java/com/edufound/reader/base/BaseActivity.java
  19. 2 0
      app/src/main/java/com/edufound/reader/contract/RecordContract.java
  20. 27 0
      app/src/main/java/com/edufound/reader/cusview/AblGridView.java
  21. 5 0
      app/src/main/java/com/edufound/reader/fragment/MyTabFragment.java
  22. 7 0
      app/src/main/java/com/edufound/reader/listener/PopupRecordStatusListener.java
  23. 9 0
      app/src/main/java/com/edufound/reader/model/PopWindowModelImpl.java
  24. 136 4
      app/src/main/java/com/edufound/reader/popwindow/PopWindowUtil.java
  25. 4 2
      app/src/main/java/com/edufound/reader/presenter/CharacterFragmentPresenter.java
  26. 1 3
      app/src/main/java/com/edufound/reader/presenter/MainPresenter.java
  27. 45 7
      app/src/main/java/com/edufound/reader/presenter/MyTabFragmentPresenter.java
  28. 213 0
      app/src/main/java/com/edufound/reader/presenter/PopWindowPresneter.java
  29. 19 1
      app/src/main/java/com/edufound/reader/presenter/RecordPresenter.java
  30. 1 1
      app/src/main/java/com/edufound/reader/presenter/SmallFullVideoPresenter.java
  31. 二進制
      app/src/main/res/drawable/activity_record_start1.png
  32. 二進制
      app/src/main/res/drawable/activity_record_start2.png
  33. 二進制
      app/src/main/res/drawable/activity_record_start3.png
  34. 二進制
      app/src/main/res/drawable/activity_record_start4.png
  35. 二進制
      app/src/main/res/drawable/activity_record_start5.png
  36. 二進制
      app/src/main/res/drawable/activity_userinfo_setting_item_grade_bg.png
  37. 二進制
      app/src/main/res/drawable/adapter_item_record_authority_allcount.png
  38. 二進制
      app/src/main/res/drawable/fragment_my_vip_renew.png
  39. 二進制
      app/src/main/res/drawable/popup_record_status_over.png
  40. 二進制
      app/src/main/res/drawable/popup_record_status_over_stars_false.png
  41. 二進制
      app/src/main/res/drawable/popup_record_status_over_stars_true.png
  42. 二進制
      app/src/main/res/drawable/popup_record_status_upload_error.png
  43. 二進制
      app/src/main/res/drawable/popup_record_status_upload_start.png
  44. 二進制
      app/src/main/res/drawable/popup_record_status_upload_success.png
  45. 二進制
      app/src/main/res/drawable/popup_record_uploading_loading.png
  46. 二進制
      app/src/main/res/drawable/popupwinow_myorder_noitem.png
  47. 20 0
      app/src/main/res/layout/activity_crash_dialog.xml
  48. 4 0
      app/src/main/res/layout/activity_pay.xml
  49. 7 3
      app/src/main/res/layout/activity_video.xml
  50. 1 7
      app/src/main/res/layout/activity_userinfo_setting.xml
  51. 1 1
      app/src/main/res/layout/adapter_item_myfollow.xml
  52. 84 0
      app/src/main/res/layout/adapter_item_popupwindow_myorder.xml
  53. 1 1
      app/src/main/res/layout/adapter_item_record_user.xml
  54. 439 0
      app/src/main/res/layout/popupwindow_record_status.xml

+ 9 - 1
.idea/misc.xml

@@ -4,6 +4,8 @@
     <option name="filePathToZoomLevelMap">
       <map>
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/activityLoginAlert/drawable/activity_loginalert_check_selector.xml" value="0.3328125" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/activityLoginAlert/drawable/activity_record_start_anim.xml" value="0.5" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/activityLoginAlert/drawable/popup_record_status_over_start_divider.xml" value="0.5" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/activityLoginAlert/drawable/popup_window_bind_wechat_qrcode_bg.xml" value="0.5048828125" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/drawable/activity_comment_quick_item_bg.xml" value="0.4326171875" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/drawable/activity_comment_quick_item_one_two.xml" value="0.4326171875" />
@@ -14,6 +16,9 @@
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/drawable/slidevideo_switch_track.xml" value="0.32734375" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/drawable/slidevideo_switch_track_selector.xml" value="0.32734375" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/layout/fragment_main_recommend.xml" value="4.0" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/layout/popup_myorder.xml" value="0.2889294403892944" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/layout/popupwindow_myorder.xml" value="0.2889294403892944" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/layout/popupwindow_record_remove.xml" value="0.2980535279805353" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/layout/slide_video_marqueen_item.xml" value="0.75" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/drawable/fragment_user_info_divider.xml" value="0.31640625" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/layout/activity_mycollection.xml" value="0.18" />
@@ -46,7 +51,8 @@
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_main.xml" value="0.15" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_message.xml" value="0.18" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_otherrecord.xml" value="0.4627039627039627" />
-        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_pay.xml" value="0.1" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_pay.xml" value="0.25" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_record.xml" value="0.20887494397131331" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_saffloer.xml" value="0.22" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_saffloer_sign_layout_item.xml" value="0.5" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_userinfo_setting.xml" value="0.33" />
@@ -55,6 +61,7 @@
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_message.xml" value="0.22" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_myfollow.xml" value="0.5" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_myollow.xml" value="0.25" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_popupwindow_myorder.xml" value="0.5" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_record.xml" value="0.4539641943734015" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_record_user.xml" value="0.67" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_safflower.xml" value="0.5" />
@@ -70,6 +77,7 @@
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/player_controller.xml" value="0.13" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/popupwindow_comment.xml" value="0.16" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/popupwindow_exit_app.xml" value="0.25" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/popupwindow_record_status.xml" value="0.33" />
       </map>
     </option>
   </component>

+ 20 - 0
app/src/activityLoginAlert/drawable/activity_record_start_anim.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<animation-list xmlns:apk="http://schemas.android.com/apk/res/android"
+        apk:oneshot="false">
+    <item
+            apk:drawable="@drawable/activity_record_start1"
+            apk:duration="100" />
+    <item
+            apk:drawable="@drawable/activity_record_start2"
+            apk:duration="100" />
+    <item
+            apk:drawable="@drawable/activity_record_start3"
+            apk:duration="100" />
+    <item
+            apk:drawable="@drawable/activity_record_start4"
+            apk:duration="100" />
+    <item
+            apk:drawable="@drawable/activity_record_start5"
+            apk:duration="100" />
+
+</animation-list>

+ 8 - 0
app/src/activityLoginAlert/drawable/popup_record_status_over_stars_divider.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+        android:shape="rectangle">
+    <size
+            android:width="10dp"
+            android:height="10dp" />
+    <solid android:color="@android:color/transparent" />
+</shape>

+ 7 - 0
app/src/activityLoginAlert/drawable/popup_record_uploading_loading_anim.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<rotate xmlns:android="http://schemas.android.com/apk/res/android"
+        android:drawable="@drawable/popup_record_uploading_loading"
+        android:fromDegrees="0.0"
+        android:pivotX="50.0%"
+        android:pivotY="50.0%"
+        android:toDegrees="360.0" />

+ 21 - 0
app/src/fragmentRecommend/anim/activity_record_demonstration_anim.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+        android:fillAfter="false">
+    <scale
+            android:duration="150"
+            android:fromXScale="1"
+            android:fromYScale="1"
+            android:pivotX="50%"
+            android:pivotY="50%"
+            android:toXScale="0.8"
+            android:toYScale="0.8" />
+    <scale
+            android:duration="150"
+            android:fromXScale="1"
+            android:fromYScale="1"
+            android:pivotX="50%"
+            android:pivotY="50%"
+            android:startOffset="150"
+            android:toXScale="1.2"
+            android:toYScale="1.2" />
+</set>

+ 57 - 0
app/src/fragmentRecommend/layout/popupwindow_myorder.xml

@@ -0,0 +1,57 @@
+<?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="match_parent">
+
+
+    <FrameLayout
+            android:id="@+id/background"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:background="#70C1FF"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"></FrameLayout>
+
+
+    <FrameLayout
+            android:layout_width="1280dp"
+            android:layout_height="720dp"
+            android:gravity="center"
+            android:orientation="vertical"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintDimensionRatio="h,16:9"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent">
+
+
+        <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/popupwindow_myorder_recyclerview"
+                android:layout_width="952dp"
+                android:layout_height="match_parent"
+                android:layout_gravity="center">
+
+        </androidx.recyclerview.widget.RecyclerView>
+
+        <ImageView
+                android:id="@+id/popupwindow_myorder_noitem"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:visibility="gone"
+                android:layout_gravity="center"
+                android:src="@drawable/popupwinow_myorder_noitem"></ImageView>
+
+        <ImageView
+                android:id="@+id/popupwindow_myorder_back"
+                android:layout_width="77dp"
+                android:layout_height="77dp"
+                android:layout_marginLeft="32dp"
+                android:layout_marginTop="20dp"
+                android:src="@drawable/main_back"></ImageView>
+    </FrameLayout>
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 117 - 0
app/src/fragmentRecommend/layout/popupwindow_record_remove.xml

@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/translucent_background">
+
+
+    <com.edufound.reader.cusview.RoundFrameLayout
+            android:layout_width="718dp"
+            android:layout_height="500dp"
+            android:layout_gravity="center"
+            android:background="#EF9B47">
+
+        <com.edufound.reader.cusview.RoundFrameLayout
+                android:layout_width="718dp"
+                android:layout_height="490dp"
+                android:layout_gravity="center|top"
+                android:background="#FFCE82">
+
+            <com.edufound.reader.cusview.RoundFrameLayout
+                    android:layout_width="685dp"
+                    android:layout_height="378dp"
+                    android:layout_gravity="center|top"
+                    android:layout_marginTop="18dp"
+                    android:background="#FFD78B">
+
+                <com.edufound.reader.cusview.RoundFrameLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="368dp"
+                        android:layout_gravity="center|top"
+                        android:background="@color/white">
+
+                    <LinearLayout
+                            android:layout_width="640dp"
+                            android:layout_height="wrap_content"
+                            android:layout_gravity="center"
+                            android:orientation="vertical">
+
+                        <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_gravity="center"
+                                android:text="您的作品将被永久删除,无法找回。"
+                                android:textColor="#AB722D"
+                                android:textSize="40dp"></TextView>
+
+                        <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_gravity="center"
+                                android:text="确认删除么?"
+                                android:textColor="#AB722D"
+                                android:textSize="40dp"></TextView>
+                    </LinearLayout>
+
+                </com.edufound.reader.cusview.RoundFrameLayout>
+            </com.edufound.reader.cusview.RoundFrameLayout>
+
+            <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="70dp"
+                    android:layout_gravity="bottom"
+                    android:layout_marginBottom="20dp"
+                    android:orientation="horizontal">
+
+                <FrameLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1">
+
+                    <FrameLayout
+                            android:id="@+id/popupwindow_record_remove_ok"
+                            android:layout_width="184dp"
+                            android:layout_height="match_parent"
+                            android:layout_gravity="center"
+                            android:background="@drawable/main_ok_btn_bg">
+
+                        <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="match_parent"
+                                android:layout_gravity="center"
+                                android:gravity="center"
+                                android:text="确认"
+                                android:textColor="@color/white"
+                                android:textSize="30dp"
+                                android:textStyle="bold"></TextView>
+                    </FrameLayout>
+                </FrameLayout>
+
+                <FrameLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1">
+
+                    <FrameLayout
+                            android:id="@+id/popupwindow_record_remove_cancel"
+                            android:layout_width="184dp"
+                            android:layout_height="match_parent"
+                            android:layout_gravity="center"
+                            android:background="@drawable/main_cancel_btn_bg">
+
+                        <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="match_parent"
+                                android:layout_gravity="center"
+                                android:gravity="center"
+                                android:text="取消"
+                                android:textColor="@color/white"
+                                android:textSize="30dp"
+                                android:textStyle="bold"></TextView>
+                    </FrameLayout>
+                </FrameLayout>
+            </LinearLayout>
+        </com.edufound.reader.cusview.RoundFrameLayout>
+    </com.edufound.reader.cusview.RoundFrameLayout>
+
+</FrameLayout>

+ 7 - 7
app/src/fragmentUser/layout/adapter_item_record_authority.xml

@@ -67,10 +67,10 @@
                             android:layout_gravity="center"
                             android:layout_weight="1"
                             android:scaleType="center"
-                            android:src="@drawable/adapter_item_record_look"></ImageView>
+                            android:src="@drawable/adapter_item_record_authority_allcount"></ImageView>
 
                     <TextView
-                            android:id="@+id/adapter_item_record_authority_look_num"
+                            android:id="@+id/adapter_item_record_authority_allcount_num"
                             android:layout_width="0dp"
                             android:layout_height="match_parent"
                             android:layout_gravity="center|left"
@@ -93,10 +93,10 @@
                             android:layout_gravity="center"
                             android:layout_weight="1"
                             android:scaleType="center"
-                            android:src="@drawable/adapter_item_record_thumb"></ImageView>
+                            android:src="@drawable/adapter_item_record_look"></ImageView>
 
                     <TextView
-                            android:id="@+id/adapter_item_record_authority_thumb_num"
+                            android:id="@+id/adapter_item_record_authority_look_num"
                             android:layout_width="0dp"
                             android:layout_height="match_parent"
                             android:layout_gravity="center|left"
@@ -119,10 +119,10 @@
                             android:layout_gravity="center"
                             android:layout_weight="1"
                             android:scaleType="center"
-                            android:src="@drawable/adapter_item_record_comment"></ImageView>
+                            android:src="@drawable/adapter_item_record_thumb"></ImageView>
 
                     <TextView
-                            android:id="@+id/adapter_item_record_authority_comment_num"
+                            android:id="@+id/adapter_item_record_authority_thumb_num"
                             android:layout_width="0dp"
                             android:layout_height="match_parent"
                             android:layout_gravity="center|left"
@@ -146,7 +146,7 @@
                             android:layout_gravity="center"
                             android:layout_weight="1"
                             android:scaleType="center"
-                            android:src="@drawable/adapter_item_record_start"></ImageView>
+                            android:src="@drawable/adapter_item_record_stars"></ImageView>
 
                     <TextView
                             android:id="@+id/adapter_item_record_authority_start_num"

app/src/fragmentUser/layout/popup_window_bind_wechat.xml → app/src/fragmentUser/layout/popupwindow_bind_wechat.xml


+ 42 - 70
app/src/main/AndroidManifest.xml

@@ -2,28 +2,26 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
         package="com.edufound.reader">
 
-
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
     <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
-    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /><!-- 切换⽹络通道 -->
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!-- 本地信息缓存 -->
-    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!--开关wifi状态,解决国内机型移动⽹络权限问题需要 -->
+    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <!-- 切换⽹络通道 -->
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 本地信息缓存 -->
+    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 开关wifi状态,解决国内机型移动⽹络权限问题需要 -->
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.RECORD_AUDIO" />
     <uses-permission android:name="android.permission.WAKE_LOCK" />
 
     <application
-            android:name="com.edufound.reader.application.EApplication"
+            android:name=".application.EApplication"
             android:allowBackup="true"
             android:icon="${icon}"
             android:label="@string/app_name"
             android:roundIcon="${icon}"
             android:supportsRtl="true"
             android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen">
-
         <meta-data
                 android:name="android.notch_support"
                 android:value="true" />
@@ -32,38 +30,29 @@
                 android:value="2.1" />
         <meta-data
                 android:name="notch.config"
-                android:value="portrait|landscape" />
-
-        <!--主页-->
+                android:value="portrait|landscape" /> <!-- 主页 -->
         <activity
-                android:name="com.edufound.reader.activity.MainActivity"
+                android:name=".activity.MainActivity"
                 android:configChanges="screenLayout|screenSize|keyboardHidden|keyboard|orientation"
-                android:launchMode="singleTop"
+                android:launchMode="singleTask"
                 android:maxAspectRatio="2.1"
                 android:resizeableActivity="true"
                 android:screenOrientation="landscape"
                 android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"
                 android:windowSoftInputMode="adjustNothing|stateHidden">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
 
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-        </activity>
-
-        <!--录音界面-->
+        </activity> <!-- 录音界面 -->
         <activity
-                android:name="com.edufound.reader.activity.RecordActivity"
+                android:name=".activity.RecordActivity"
                 android:configChanges="screenLayout|screenSize|keyboardHidden|keyboard|orientation"
                 android:launchMode="singleTask"
                 android:maxAspectRatio="2.1"
                 android:resizeableActivity="true"
                 android:screenOrientation="landscape"
                 android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"
-                android:windowSoftInputMode="adjustNothing|stateHidden"></activity>
-        <!--登录界面 -->
+                android:windowSoftInputMode="adjustNothing|stateHidden" /> <!-- 登录界面 -->
         <activity
-                android:name="com.edufound.reader.activity.CrashDialogActivity"
+                android:name=".activity.CrashDialogActivity"
                 android:configChanges="screenLayout|screenSize|keyboardHidden|keyboard|orientation"
                 android:launchMode="singleTask"
                 android:maxAspectRatio="2.1"
@@ -71,12 +60,15 @@
                 android:screenOrientation="landscape"
                 android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"
                 android:windowSoftInputMode="adjustNothing|stateHidden">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
 
-        </activity>
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
 
-        <!--登录界面 -->
+        </activity> <!-- 登录界面 -->
         <activity
-                android:name="com.edufound.reader.activity.LoginAlertActivity"
+                android:name=".activity.LoginAlertActivity"
                 android:configChanges="screenLayout|screenSize|keyboardHidden|keyboard|orientation"
                 android:label=""
                 android:launchMode="singleTask"
@@ -84,63 +76,54 @@
                 android:resizeableActivity="true"
                 android:screenOrientation="landscape"
                 android:theme="@style/efunboxTransparentLoginAlert"
-                android:windowSoftInputMode="adjustNothing|stateHidden"></activity>
-        <!--我的收藏界面 -->
+                android:windowSoftInputMode="adjustNothing|stateHidden" /> <!-- 我的收藏界面 -->
         <activity
-                android:name="com.edufound.reader.activity.MyCollectionActivity"
+                android:name=".activity.MyCollectionActivity"
                 android:configChanges="screenLayout|screenSize|keyboardHidden|keyboard|orientation"
                 android:launchMode="singleTask"
                 android:maxAspectRatio="2.1"
                 android:resizeableActivity="true"
                 android:screenOrientation="landscape"
                 android:theme="@style/efunboxTransparentLoginAlert"
-                android:windowSoftInputMode="adjustNothing|stateHidden"></activity>
-        <!--我的关注界面 -->
+                android:windowSoftInputMode="adjustNothing|stateHidden" /> <!-- 我的关注界面 -->
         <activity
-                android:name="com.edufound.reader.activity.MyFollowActivity"
+                android:name=".activity.MyFollowActivity"
                 android:configChanges="screenLayout|screenSize|keyboardHidden|keyboard|orientation"
                 android:launchMode="singleTask"
                 android:maxAspectRatio="2.1"
                 android:resizeableActivity="true"
                 android:screenOrientation="landscape"
                 android:theme="@style/efunboxTransparentLoginAlert"
-                android:windowSoftInputMode="adjustNothing|stateHidden"></activity>
-        <!--消息通知界面 -->
+                android:windowSoftInputMode="adjustNothing|stateHidden" /> <!-- 消息通知界面 -->
         <activity
-                android:name="com.edufound.reader.activity.MessageActivity"
+                android:name=".activity.MessageActivity"
                 android:configChanges="screenLayout|screenSize|keyboardHidden|keyboard|orientation"
                 android:launchMode="singleTask"
                 android:maxAspectRatio="2.1"
                 android:resizeableActivity="true"
                 android:screenOrientation="landscape"
                 android:theme="@style/efunboxTransparentLoginAlert"
-                android:windowSoftInputMode="adjustNothing|stateHidden"></activity>
-        <!--联系我们界面 -->
+                android:windowSoftInputMode="adjustNothing|stateHidden" /> <!-- 联系我们界面 -->
         <activity
-                android:name="com.edufound.reader.activity.CustomerServiceActivity"
+                android:name=".activity.CustomerServiceActivity"
                 android:configChanges="screenLayout|screenSize|keyboardHidden|keyboard|orientation"
                 android:launchMode="singleTask"
                 android:maxAspectRatio="2.1"
                 android:resizeableActivity="true"
                 android:screenOrientation="landscape"
                 android:theme="@style/efunboxTransparentLoginAlert"
-                android:windowSoftInputMode="adjustNothing|stateHidden"></activity>
-
-        <!--支付界面 -->
+                android:windowSoftInputMode="adjustNothing|stateHidden" /> <!-- 支付界面 -->
         <activity
-                android:name="com.edufound.reader.activity.PayActivity"
+                android:name=".activity.PayActivity"
                 android:configChanges="screenLayout|screenSize|keyboardHidden|keyboard|orientation"
                 android:launchMode="singleTask"
                 android:maxAspectRatio="2.1"
                 android:resizeableActivity="true"
                 android:screenOrientation="landscape"
                 android:theme="@style/efunboxTransparentLoginAlert"
-                android:windowSoftInputMode="adjustNothing|stateHidden"></activity>
-
-
-        <!--评论界面 -->
+                android:windowSoftInputMode="adjustNothing|stateHidden" /> <!-- 评论界面 -->
         <activity
-                android:name="com.edufound.reader.activity.CommentActivity"
+                android:name=".activity.CommentActivity"
                 android:configChanges="screenLayout|screenSize|keyboardHidden|keyboard|orientation"
                 android:label=""
                 android:launchMode="singleTask"
@@ -148,10 +131,9 @@
                 android:resizeableActivity="true"
                 android:screenOrientation="landscape"
                 android:theme="@style/efunboxTransparentLoginAlert"
-                android:windowSoftInputMode="adjustPan|stateHidden"></activity>
-        <!--web界面 -->
+                android:windowSoftInputMode="adjustPan|stateHidden" /> <!-- web界面 -->
         <activity
-                android:name="com.edufound.reader.activity.WebActivity"
+                android:name=".activity.WebActivity"
                 android:configChanges="screenLayout|screenSize|keyboardHidden|keyboard|orientation"
                 android:label=""
                 android:launchMode="singleTask"
@@ -160,10 +142,9 @@
                 android:resizeableActivity="true"
                 android:screenOrientation="landscape"
                 android:theme="@style/efunboxTransparentLoginAlert"
-                android:windowSoftInputMode="adjustNothing|stateHidden"></activity>
-
+                android:windowSoftInputMode="adjustNothing|stateHidden" />
         <activity
-                android:name="com.edufound.reader.activity.SmallFullVideoActivity"
+                android:name=".activity.SmallFullVideoActivity"
                 android:configChanges="screenLayout|screenSize|keyboardHidden|keyboard|orientation"
                 android:label=""
                 android:launchMode="singleTask"
@@ -171,10 +152,9 @@
                 android:resizeableActivity="true"
                 android:screenOrientation="landscape"
                 android:theme="@style/efunboxTransparentLoginAlert"
-                android:windowSoftInputMode="adjustNothing|stateHidden"></activity>
-
+                android:windowSoftInputMode="adjustNothing|stateHidden" />
         <activity
-                android:name="com.edufound.reader.activity.OthersRecordActivity"
+                android:name=".activity.OthersRecordActivity"
                 android:configChanges="screenLayout|screenSize|keyboardHidden|keyboard|orientation"
                 android:label=""
                 android:launchMode="singleTask"
@@ -182,11 +162,9 @@
                 android:resizeableActivity="true"
                 android:screenOrientation="landscape"
                 android:theme="@style/efunboxTransparentLoginAlert"
-                android:windowSoftInputMode="adjustNothing|stateHidden"></activity>
-
-
+                android:windowSoftInputMode="adjustNothing|stateHidden" />
         <activity
-                android:name="com.edufound.reader.activity.UserInfoSettingActivity"
+                android:name=".activity.UserInfoSettingActivity"
                 android:configChanges="screenLayout|screenSize|keyboardHidden|keyboard|orientation"
                 android:label=""
                 android:launchMode="singleTask"
@@ -194,9 +172,9 @@
                 android:resizeableActivity="true"
                 android:screenOrientation="landscape"
                 android:theme="@style/efunboxTransparentLoginAlert"
-                android:windowSoftInputMode="adjustNothing|stateHidden"></activity>
+                android:windowSoftInputMode="adjustNothing|stateHidden" />
         <activity
-                android:name="com.edufound.reader.activity.SafflowerActivity"
+                android:name=".activity.SafflowerActivity"
                 android:configChanges="screenLayout|screenSize|keyboardHidden|keyboard|orientation"
                 android:label=""
                 android:launchMode="singleTask"
@@ -204,21 +182,15 @@
                 android:resizeableActivity="true"
                 android:screenOrientation="landscape"
                 android:theme="@style/efunboxTransparentLoginAlert"
-                android:windowSoftInputMode="adjustNothing|stateHidden"></activity>
-        <!--友盟start-->
+                android:windowSoftInputMode="adjustNothing|stateHidden" /> <!-- 友盟start -->
         <meta-data
                 android:name="UMENG_APPKEY"
                 android:value="5e34d2fb4ca3574b1800005b" />
         <meta-data
                 android:name="UMENG_CHANNEL"
-                android:value="${UMENG_CHANNEL_VALUE}" />
-        <!--友盟end-->
-
+                android:value="${UMENG_CHANNEL_VALUE}" /> <!-- 友盟end -->
         <!-- 录音services -->
-        <service android:name="com.edufound.reader.services.RecordServices"></service>
-        <!-- 录音services -->
-
+        <service android:name=".services.RecordServices" />
     </application>
 
-
 </manifest>

+ 37 - 13
app/src/main/java/com/edufound/reader/activity/CrashDialogActivity.java

@@ -3,18 +3,25 @@ package com.edufound.reader.activity;
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.content.DialogInterface;
+import android.util.DisplayMetrics;
 import android.view.ViewGroup;
+import android.widget.GridView;
+import android.widget.LinearLayout;
 
 import com.edufound.reader.R;
+import com.edufound.reader.adapter.TestGridAdapter;
+import com.edufound.reader.annotation.BindView;
 import com.edufound.reader.application.EApplication;
 import com.edufound.reader.base.BaseMvpActivity;
 import com.edufound.reader.contract.CrashDialogContract;
+import com.edufound.reader.cusview.AblGridView;
 import com.edufound.reader.presenter.CrashDialogPresenter;
 
 public class CrashDialogActivity extends BaseMvpActivity<CrashDialogPresenter> implements CrashDialogContract.View {
 
     Activity mActivity;
-
+    @BindView(id = R.id.test_gridview)
+    AblGridView mGridView;
 
     @Override
     public int getLayoutId() {
@@ -26,18 +33,35 @@ public class CrashDialogActivity extends BaseMvpActivity<CrashDialogPresenter> i
         mPresenter = new CrashDialogPresenter();
         mPresenter.attachView(this);
         mActivity = this;
-        AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
-        builder.setTitle("error");
-        builder.setIcon(R.drawable.icon);
-        builder.setMessage("出现异常");
-        builder.setNegativeButton("退出", new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(DialogInterface dialogInterface, int i) {
-                dialogInterface.dismiss();
-                EApplication.killAppProcess(mActivity);
-            }
-        });
-        builder.create().show();
+//        AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
+//        builder.setTitle("error");
+//        builder.setIcon(R.drawable.icon);
+//        builder.setMessage("出现异常");
+//        builder.setNegativeButton("退出", new DialogInterface.OnClickListener() {
+//            @Override
+//            public void onClick(DialogInterface dialogInterface, int i) {
+//                dialogInterface.dismiss();
+//                EApplication.killAppProcess(mActivity);
+//            }
+//        });
+//        builder.create().show();
+
+        int item = 50;
+        TestGridAdapter adapter = new TestGridAdapter(mActivity);
+        int length = 100;
+        DisplayMetrics dm = new DisplayMetrics();
+        getWindowManager().getDefaultDisplay().getMetrics(dm);
+        float density = dm.density;
+        int gridviewWidth = (int) (100 * (length + 4) * density);
+        int itemWidth = (int) (length * density);
+        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
+                gridviewWidth, LinearLayout.LayoutParams.FILL_PARENT);
+        mGridView.setLayoutParams(params); // 设置GirdView布局参数,横向布局的关键
+        mGridView.setColumnWidth(itemWidth); // 设置列表项宽
+        mGridView.setHorizontalSpacing(5); // 设置列表项水平间距
+        mGridView.setStretchMode(GridView.NO_STRETCH);
+        mGridView.setNumColumns(item / 2); // 设置列数量=列表集合数
+        mGridView.setAdapter(adapter);
 
     }
 

+ 3 - 2
app/src/main/java/com/edufound/reader/activity/MainActivity.java

@@ -43,8 +43,9 @@ public class MainActivity extends BaseMvpActivity<MainPresenter> implements Main
                 mPresenter.onRadioChecked(radioGroup, id);
             }
         });
-        ((RadioButton) mRadioGroupTab.getChildAt(1)).setChecked(true);
-      
+        int defaultIndex = getIntent().getIntExtra("defaultIndex", 1);
+        ((RadioButton) mRadioGroupTab.getChildAt(defaultIndex)).setChecked(true);
+
     }
 
 

+ 26 - 0
app/src/main/java/com/edufound/reader/activity/PayActivity.java

@@ -1,6 +1,7 @@
 package com.edufound.reader.activity;
 
 import android.app.Activity;
+import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ImageView;
 import android.widget.Toast;
@@ -10,6 +11,7 @@ import com.edufound.reader.annotation.BindView;
 import com.edufound.reader.base.BaseActivity;
 import com.edufound.reader.base.BaseMvpActivity;
 import com.edufound.reader.contract.PayContract;
+import com.edufound.reader.popwindow.PopWindowUtil;
 import com.edufound.reader.presenter.PayPresenter;
 
 public class PayActivity extends BaseMvpActivity<PayPresenter> implements PayContract.View {
@@ -22,6 +24,18 @@ public class PayActivity extends BaseMvpActivity<PayPresenter> implements PayCon
     @BindView(id = R.id.activity_pay_back)
     ImageView mBack;
 
+    @BindView(id = R.id.activity_pay_month_item)
+    ViewGroup mMonthItem;
+
+    @BindView(id = R.id.activity_pay_year_item)
+    ViewGroup mYearItem;
+
+    @BindView(id = R.id.activity_pay_month_item_check)
+    ImageView mMonthCheck;
+
+    @BindView(id = R.id.activity_pay_year_item_check)
+    ImageView mYearCheck;
+
     @Override
     public int getLayoutId() {
         return R.layout.activity_pay;
@@ -35,9 +49,21 @@ public class PayActivity extends BaseMvpActivity<PayPresenter> implements PayCon
         addUiClickListener(mBack, o -> {
             mActivity.finish();
         });
+        mYearCheck.setVisibility(View.INVISIBLE);
+        mMonthCheck.setVisibility(View.INVISIBLE);
         addUiClickListener(mToMyOrder, o -> {
             Toast.makeText(mActivity, "to my order", Toast.LENGTH_SHORT).show();
+            PopWindowUtil.showMyOrderWindow(mActivity, getRootView());
+        });
+        addUiClickListener(mYearItem, o -> {
+            mMonthCheck.setVisibility(View.INVISIBLE);
+            mYearCheck.setVisibility(View.VISIBLE);
+        });
+        addUiClickListener(mMonthItem, o -> {
+            mYearCheck.setVisibility(View.INVISIBLE);
+            mMonthCheck.setVisibility(View.VISIBLE);
         });
+        mYearItem.performClick();
     }
 
     @Override

+ 43 - 1
app/src/main/java/com/edufound/reader/activity/RecordActivity.java

@@ -1,9 +1,14 @@
 package com.edufound.reader.activity;
 
+import android.animation.Animator;
 import android.app.Activity;
+import android.graphics.drawable.AnimationDrawable;
 import android.view.ViewGroup;
+import android.view.animation.Animation;
+import android.view.animation.AnimationUtils;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
+import android.widget.TextView;
 
 import com.edufound.reader.R;
 import com.edufound.reader.annotation.BindView;
@@ -21,9 +26,24 @@ public class RecordActivity extends BaseMvpActivity<RecordPresenter> implements
     @BindView(id = R.id.activity_record_back)
     ImageView mBack;
 
+    @BindView(id = R.id.activity_record_mike_icon)
+    ImageView mMikeIcon;
+
+    @BindView(id = R.id.activity_record_mike_status)
+    TextView mRecordStatus;
+
+    @BindView(id = R.id.activity_record_demonstration)
+    FrameLayout mDemonsFrame;
+
+    @BindView(id = R.id.activity_record_demonstration_icon)
+    ImageView mDemonsIcon;
+
+    boolean isRecordNow = false;
+    AnimationDrawable mMikeAnim;
+
     @Override
     public int getLayoutId() {
-        return R.layout.activity_video;
+        return R.layout.activity_record;
     }
 
     @Override
@@ -37,6 +57,28 @@ public class RecordActivity extends BaseMvpActivity<RecordPresenter> implements
         addUiClickListener(mBack, o -> {
             mActivity.finish();
         });
+        addUiClickListener(mMikeIcon, o -> {
+            if (isRecordNow) {
+                //正在朗读
+                mMikeAnim.stop();
+                mMikeAnim = null;
+                mMikeIcon.setBackgroundResource(R.drawable.to_record_icon_mike);
+                isRecordNow = false;
+                mRecordStatus.setText("开始朗读");
+                mPresenter.showRecordStatusWindow();
+            } else {
+                //没有朗读
+                mMikeIcon.setBackgroundResource(R.drawable.activity_record_start_anim);
+                mMikeAnim = (AnimationDrawable) mMikeIcon.getBackground();
+                mMikeAnim.start();
+                isRecordNow = true;
+                mRecordStatus.setText("配音中");
+            }
+        });
+        addUiClickListener(mDemonsFrame, o -> {
+            Animation animation = AnimationUtils.loadAnimation(this, R.anim.activity_record_demonstration_anim);
+            mDemonsIcon.startAnimation(animation);
+        });
     }
 
     @Override

+ 69 - 0
app/src/main/java/com/edufound/reader/adapter/PopupMyOrderAdapter.java

@@ -0,0 +1,69 @@
+package com.edufound.reader.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.edufound.reader.R;
+
+import java.util.List;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+public class PopupMyOrderAdapter extends RecyclerView.Adapter<MyOtderItemHolder> {
+
+
+    private LayoutInflater mLayoutInflater;
+    private Context mContext;
+    private List<Object> mListData;
+
+    public PopupMyOrderAdapter(Context context, List<Object> listData) {
+        mContext = context;
+        mLayoutInflater = LayoutInflater.from(context);
+        mListData = listData;
+
+
+    }
+
+    @NonNull
+    @Override
+    public MyOtderItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+        return new MyOtderItemHolder(mLayoutInflater.inflate(R.layout.adapter_item_popupwindow_myorder, parent, false));
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull MyOtderItemHolder holder, int position) {
+        holder.mOrderTime.setText(mListData.get(position).toString());
+    }
+
+    @Override
+    public int getItemCount() {
+        return mListData.size();
+    }
+
+    @Override
+    public int getItemViewType(int position) {
+        return position;
+    }
+}
+
+class MyOtderItemHolder extends RecyclerView.ViewHolder {
+
+    TextView mOrderTime;
+    TextView mOrderName;
+    TextView mOrderStatus;
+    TextView mOrderPayMoney;
+
+
+    public MyOtderItemHolder(@NonNull View itemView) {
+        super(itemView);
+        mOrderTime = itemView.findViewById(R.id.popupwindow_myorder_time);
+        mOrderStatus = itemView.findViewById(R.id.popupwindow_myorder_status);
+        mOrderName = itemView.findViewById(R.id.popupwindow_myorder_name);
+        mOrderPayMoney = itemView.findViewById(R.id.popupwindow_myorder_paymoney);
+    }
+}

+ 45 - 0
app/src/main/java/com/edufound/reader/adapter/TestGridAdapter.java

@@ -0,0 +1,45 @@
+package com.edufound.reader.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.GridLayout;
+import android.widget.LinearLayout;
+import android.widget.Space;
+import android.widget.TextView;
+
+public class TestGridAdapter extends BaseAdapter {
+    Context mContext;
+
+    public TestGridAdapter(Context context) {
+        mContext = context;
+    }
+
+    @Override
+    public int getCount() {
+        return 50;
+    }
+
+    @Override
+    public Object getItem(int i) {
+        return i;
+    }
+
+    @Override
+    public long getItemId(int i) {
+        return i;
+    }
+
+    @Override
+    public View getView(int i, View view, ViewGroup viewGroup) {
+        TextView tv = new TextView(mContext);
+        tv.setText("i==============" + i);
+        GridLayout.LayoutParams mLayoutParams = new GridLayout.LayoutParams();
+        mLayoutParams.columnSpec = GridLayout.spec(GridLayout.UNDEFINED, 1, 1.0f);
+        mLayoutParams.rowSpec = GridLayout.spec(GridLayout.UNDEFINED, 1, 1.0f);
+        tv.setLayoutParams(mLayoutParams);
+
+        return tv;
+    }
+}

+ 2 - 0
app/src/main/java/com/edufound/reader/application/EApplication.java

@@ -29,6 +29,7 @@ import org.xmlpull.v1.XmlPullParserException;
 import org.xmlpull.v1.XmlPullParserFactory;
 
 import java.io.File;
+import java.util.ArrayList;
 import java.util.List;
 
 import okhttp3.Request;
@@ -38,6 +39,7 @@ public class EApplication extends Application {
     private int activityAount = 0;
     public boolean isForeground = false;
     public static long APP_START_TIME = 0;
+    public static List<Activity> mActivityList = new ArrayList<>();
 
     @Override
     public void onCreate() {

+ 2 - 1
app/src/main/java/com/edufound/reader/base/BaseActivity.java

@@ -23,6 +23,7 @@ import android.widget.FrameLayout;
 
 import com.edufound.reader.R;
 import com.edufound.reader.annotation.BindView;
+import com.edufound.reader.application.EApplication;
 import com.edufound.reader.receiver.HomeKeyEventReceiver;
 import com.edufound.reader.receiver.NetworkChangeReceiver;
 import com.edufound.reader.util.Consts;
@@ -54,7 +55,7 @@ public abstract class BaseActivity extends AppCompatActivity {
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 //        EfunboxUtil.setCustomDensity(this, Consts.getmApplicAtion());
-
+        EApplication.mActivityList.add(this);
         EfunboxUtil.initDesignSize(this);
         setContentView(this.getLayoutId());
         initBase();

+ 2 - 0
app/src/main/java/com/edufound/reader/contract/RecordContract.java

@@ -57,5 +57,7 @@ public interface RecordContract {
         void activityPause();
 
         void activityResume();
+
+        void showRecordStatusWindow();
     }
 }

+ 27 - 0
app/src/main/java/com/edufound/reader/cusview/AblGridView.java

@@ -0,0 +1,27 @@
+package com.edufound.reader.cusview;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.GridView;
+
+public class AblGridView extends GridView {
+    public AblGridView(Context context) {
+        super(context);
+    }
+
+    public AblGridView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public AblGridView(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+    }
+
+    @Override
+    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
+                MeasureSpec.AT_MOST);
+        super.onMeasure(widthMeasureSpec, expandSpec);
+    }
+
+}

+ 5 - 0
app/src/main/java/com/edufound/reader/fragment/MyTabFragment.java

@@ -74,6 +74,11 @@ public class MyTabFragment extends BaseMvpFragment<MyTabFragmentPresenter> imple
         mHeadUserFans = headlayout.findViewById(R.id.fragment_main_user_fans);
         mHeadUserPlayCount = headlayout.findViewById(R.id.fragment_main_user_playcount);
         mHeadUserVip = headlayout.findViewById(R.id.fragment_main_user_vip);
+        if (true) {
+            mHeadUserVip.setBackgroundResource(R.drawable.fragment_my_vip_renew);
+        } else {
+            mHeadUserVip.setBackgroundResource(R.drawable.fragment_my_vip);
+        }
         mHeadUserRedFlower = headlayout.findViewById(R.id.fragment_main_user_redflower);
         mHeadUserMyAttention = headlayout.findViewById(R.id.fragment_main_user_myattention);
         mHeadUserMyCollection = headlayout.findViewById(R.id.fragment_main_user_mycollection);

+ 7 - 0
app/src/main/java/com/edufound/reader/listener/PopupRecordStatusListener.java

@@ -0,0 +1,7 @@
+package com.edufound.reader.listener;
+
+public interface PopupRecordStatusListener {
+    void clickReRecord();
+
+    void clickUploadingErrorBtn();
+}

+ 9 - 0
app/src/main/java/com/edufound/reader/model/PopWindowModelImpl.java

@@ -0,0 +1,9 @@
+package com.edufound.reader.model;
+
+public class PopWindowModelImpl implements PopWindowModel {
+
+}
+
+
+interface PopWindowModel {
+}

+ 136 - 4
app/src/main/java/com/edufound/reader/popwindow/PopWindowUtil.java

@@ -2,6 +2,7 @@ package com.edufound.reader.popwindow;
 
 import android.content.Context;
 import android.view.Gravity;
+import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.FrameLayout;
@@ -12,14 +13,42 @@ import com.edufound.reader.R;
 import com.edufound.reader.application.EApplication;
 import com.edufound.reader.cusview.GridRadioGroup;
 import com.edufound.reader.listener.PopUtilClickListener;
+import com.edufound.reader.listener.PopupRecordStatusListener;
+import com.edufound.reader.presenter.PopWindowPresneter;
 import com.orhanobut.logger.Logger;
 
 public class PopWindowUtil {
+    private static PopWindowPresneter mPresenter;
     private static PopupWindow mPopupWindow;
 
+
+    private static void initPresenter() {
+        if (mPresenter == null) {
+            mPresenter = new PopWindowPresneter();
+        }
+    }
+
+    private static boolean checkWindowShoing() {
+        if (mPopupWindow == null) {
+            return false;
+        }
+        return mPopupWindow.isShowing();
+    }
+
+    public static void hidePopupWindow() {
+        if (mPopupWindow.isShowing()) {
+            mPopupWindow.dismiss();
+        }
+    }
+
     public static void showExitAppWindow(Context context, View parent) {
+        initPresenter();
+        if (checkWindowShoing()) {
+            return;
+        }
         View dialog_view = LayoutInflater.from(context).inflate(R.layout.popupwindow_exit_app, null);
         dialog_view.setFocusable(true);
+
         ImageView image = dialog_view.findViewById(R.id.popupwindow_exit_app_image);
         FrameLayout exit = dialog_view.findViewById(R.id.popupwindow_exit_app_ok);
         FrameLayout cancel = dialog_view.findViewById(R.id.popupwindow_exit_app_cancel);
@@ -38,10 +67,13 @@ public class PopWindowUtil {
         mPopupWindow = new PopupWindow(dialog_view, FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
         mPopupWindow.setFocusable(true);
         mPopupWindow.showAtLocation(parent, Gravity.CENTER, 0, 0);
-        mPopupWindow.showAtLocation(parent, Gravity.CENTER, 0, 0);
     }
 
     public static void showSelectGradeWindow(Context context, View parent, int checked, PopUtilClickListener listener) {
+        initPresenter();
+        if (checkWindowShoing()) {
+            return;
+        }
         View dialog_view = LayoutInflater.from(context).inflate(R.layout.popupwindow_select_grade, null);
         dialog_view.setFocusable(true);
         FrameLayout btn_ok = dialog_view.findViewById(R.id.popupwindow_select_ok);
@@ -88,6 +120,10 @@ public class PopWindowUtil {
 
 
     public static void showExitLoginWindow(Context context, View parent, PopUtilClickListener listener) {
+        initPresenter();
+        if (checkWindowShoing()) {
+            return;
+        }
         View dialog_view = LayoutInflater.from(context).inflate(R.layout.popupwindow_exit_login, null);
         dialog_view.setFocusable(true);
         ImageView image = dialog_view.findViewById(R.id.popupwindow_exit_login_image);
@@ -109,10 +145,13 @@ public class PopWindowUtil {
         mPopupWindow = new PopupWindow(dialog_view, FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
         mPopupWindow.setFocusable(true);
         mPopupWindow.showAtLocation(parent, Gravity.CENTER, 0, 0);
-        mPopupWindow.showAtLocation(parent, Gravity.CENTER, 0, 0);
     }
 
     public static void showCancellationAccountWindow(Context context, View parent, PopUtilClickListener listener) {
+        initPresenter();
+        if (checkWindowShoing()) {
+            return;
+        }
         View dialog_view = LayoutInflater.from(context).inflate(R.layout.popupwindow_cancellation_account, null);
         dialog_view.setFocusable(true);
         FrameLayout exit = dialog_view.findViewById(R.id.popupwindow_cancellation_account_ok);
@@ -133,12 +172,15 @@ public class PopWindowUtil {
         mPopupWindow = new PopupWindow(dialog_view, FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
         mPopupWindow.setFocusable(true);
         mPopupWindow.showAtLocation(parent, Gravity.CENTER, 0, 0);
-        mPopupWindow.showAtLocation(parent, Gravity.CENTER, 0, 0);
     }
 
 
     public static void showBindWeChatWindow(Context context, View parent, PopUtilClickListener listener) {
-        View dialog_view = LayoutInflater.from(context).inflate(R.layout.popup_window_bind_wechat, null);
+        initPresenter();
+        if (checkWindowShoing()) {
+            return;
+        }
+        View dialog_view = LayoutInflater.from(context).inflate(R.layout.popupwindow_bind_wechat, null);
         dialog_view.setFocusable(true);
         ImageView back = dialog_view.findViewById(R.id.popupwindow_bindwechat_back);
         back.setOnClickListener(new View.OnClickListener() {
@@ -151,8 +193,98 @@ public class PopWindowUtil {
         mPopupWindow = new PopupWindow(dialog_view, FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
         mPopupWindow.setFocusable(true);
         mPopupWindow.showAtLocation(parent, Gravity.CENTER, 0, 0);
+    }
+
+
+    public static void showRecordStatusWindow(Context context, View parent, PopupRecordStatusListener listener) {
+        initPresenter();
+        if (checkWindowShoing()) {
+            return;
+        }
+        View dialog_view = LayoutInflater.from(context).inflate(R.layout.popupwindow_record_status, null);
+        dialog_view.setFocusable(true);
+        dialog_view.setOnKeyListener(new View.OnKeyListener() {
+            @Override
+            public boolean onKey(View v, int keyCode, KeyEvent event) {
+                if (keyCode == KeyEvent.KEYCODE_BACK) {
+                    return true;
+                }
+                return false;
+            }
+        });
+        ImageView back = dialog_view.findViewById(R.id.popupwindow_record_status_close);
+        back.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                mPopupWindow.dismiss();
+            }
+        });
+        mPresenter.initRecordStatusWindow(context, dialog_view, listener);
+        mPopupWindow = new PopupWindow(dialog_view, FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
+        mPopupWindow.setFocusable(false);
         mPopupWindow.showAtLocation(parent, Gravity.CENTER, 0, 0);
     }
+
+
+    public static void showMyOrderWindow(Context context, View parent) {
+        initPresenter();
+        if (checkWindowShoing()) {
+            return;
+        }
+        View dialog_view = LayoutInflater.from(context).inflate(R.layout.popupwindow_myorder, null);
+        dialog_view.setFocusable(true);
+        dialog_view.setOnKeyListener(new View.OnKeyListener() {
+            @Override
+            public boolean onKey(View v, int keyCode, KeyEvent event) {
+                if (keyCode == KeyEvent.KEYCODE_BACK) {
+                    return true;
+                }
+                return false;
+            }
+        });
+        ImageView back = dialog_view.findViewById(R.id.popupwindow_myorder_back);
+        back.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                mPopupWindow.dismiss();
+            }
+        });
+        mPresenter.myOrderWindowInit(context, dialog_view);
+        mPopupWindow = new PopupWindow(dialog_view, FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
+        mPopupWindow.setFocusable(false);
+        mPopupWindow.showAtLocation(parent, Gravity.CENTER, 0, 0);
+    }
+
+
+    public static void showRecordRemovedWindow(Context context, View parent, PopUtilClickListener listener) {
+        initPresenter();
+        if (checkWindowShoing()) {
+            return;
+        }
+        View dialog_view = LayoutInflater.from(context).inflate(R.layout.popupwindow_record_remove, null);
+        dialog_view.setFocusable(true);
+        FrameLayout ok = dialog_view.findViewById(R.id.popupwindow_record_remove_ok);
+        FrameLayout cancel = dialog_view.findViewById(R.id.popupwindow_record_remove_cancel);
+        ok.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                mPopupWindow.dismiss();
+                listener.clickSubmit(null);
+            }
+        });
+        cancel.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                mPopupWindow.dismiss();
+                listener.clickCancel();
+            }
+        });
+        mPopupWindow = new PopupWindow(dialog_view, FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
+        mPopupWindow.setFocusable(true);
+        mPopupWindow.showAtLocation(parent, Gravity.CENTER, 0, 0);
+    }
+
+
 }
 
 

+ 4 - 2
app/src/main/java/com/edufound/reader/presenter/CharacterFragmentPresenter.java

@@ -63,8 +63,10 @@ public class CharacterFragmentPresenter extends BasePresenter<CharacterFragmentC
 
     @Override
     public void onDestory(GridLayout layout) {
-        mCharacterHandler.removeMessages(CharacterFragmentModel.LOAD_GRID);
-        mCharacterHandler = null;
+        if (mCharacterHandler != null) {
+            mCharacterHandler.removeMessages(CharacterFragmentModel.LOAD_GRID);
+            mCharacterHandler = null;
+        }
         layout.removeAllViews();
         layout = null;
         mView = null;

+ 1 - 3
app/src/main/java/com/edufound/reader/presenter/MainPresenter.java

@@ -13,6 +13,7 @@ import com.edufound.reader.contract.MainContract;
 import com.edufound.reader.fragment.CharacterFragment;
 import com.edufound.reader.fragment.RecommendFragment;
 import com.edufound.reader.fragment.MyTabFragment;
+import com.edufound.reader.listener.PopupRecordStatusListener;
 import com.edufound.reader.model.MainModel;
 import com.edufound.reader.listener.PopUtilClickListener;
 import com.edufound.reader.popwindow.PopWindowUtil;
@@ -145,9 +146,6 @@ public class MainPresenter extends BasePresenter<MainContract.View> implements M
             case KeyEvent.KEYCODE_BACK:
             case KeyEvent.KEYCODE_ESCAPE:
                 PopWindowUtil.showExitAppWindow(mView.getActivity(), mView.getRootView());
-//                EApplication.killAppProcess(mView.getActivity());
-//                PupWindowUtil.showSelectGradeWindow(mView.getActivity(), mView.getRootView(), 3);
-//                PupWindowUtil.showExitLoginWindow(mView.getActivity(), mView.getRootView());
 
                 return true;
         }

+ 45 - 7
app/src/main/java/com/edufound/reader/presenter/MyTabFragmentPresenter.java

@@ -1,5 +1,6 @@
 package com.edufound.reader.presenter;
 
+import android.animation.Animator;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Handler;
@@ -16,11 +17,14 @@ import com.edufound.reader.R;
 import com.edufound.reader.activity.SmallFullVideoActivity;
 import com.edufound.reader.base.BasePresenter;
 import com.edufound.reader.contract.MyTabFragmentContract;
+import com.edufound.reader.listener.PopUtilClickListener;
 import com.edufound.reader.model.CharacterFragmentModel;
 import com.edufound.reader.model.MyTabFragmentModel;
+import com.edufound.reader.popwindow.PopWindowUtil;
 import com.edufound.reader.util.GlideUtils;
 import com.edufound.reader.util.SizeUtils;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import androidx.recyclerview.widget.RecyclerView;
@@ -37,10 +41,10 @@ public class MyTabFragmentPresenter extends BasePresenter<MyTabFragmentContract.
         mContext = context;
         mModel = new MyTabFragmentModel();
 
-//        mDataList = new ArrayList<>();
-//        for (int i = 0; i < 35; i++) {
-//            mDataList.add("i=" + i);
-//        }
+        mDataList = new ArrayList<>();
+        for (int i = 0; i < 35; i++) {
+            mDataList.add("i=" + i);
+        }
     }
 
     @Override
@@ -100,8 +104,10 @@ public class MyTabFragmentPresenter extends BasePresenter<MyTabFragmentContract.
 
     @Override
     public void onDestory(GridLayout layout) {
-        mUserFragmentHandler.removeMessages(MyTabFragmentModel.LOAD_GRID);
-        mUserFragmentHandler = null;
+        if (mUserFragmentHandler != null) {
+            mUserFragmentHandler.removeMessages(MyTabFragmentModel.LOAD_GRID);
+            mUserFragmentHandler = null;
+        }
         layout.removeAllViews();
         layout = null;
         mView = null;
@@ -126,7 +132,39 @@ public class MyTabFragmentPresenter extends BasePresenter<MyTabFragmentContract.
             imgPriv.setImageResource(R.drawable.adapter_item_record_pub);
         }
         mView.addUiClick(imgDel, o -> {
-            gridLayout.removeView(view);
+            PopWindowUtil.showRecordRemovedWindow(mContext, mView.getRootView(), new PopUtilClickListener() {
+                @Override
+                public void clickCancel() {
+
+                }
+
+                @Override
+                public void clickSubmit(Object object) {
+                    view.animate().scaleY(0).scaleX(0).setDuration(500).setListener(new Animator.AnimatorListener() {
+                        @Override
+                        public void onAnimationStart(Animator animator) {
+
+                        }
+
+                        @Override
+                        public void onAnimationEnd(Animator animator) {
+                            gridLayout.removeView(view);
+                        }
+
+                        @Override
+                        public void onAnimationCancel(Animator animator) {
+
+                        }
+
+                        @Override
+                        public void onAnimationRepeat(Animator animator) {
+
+                        }
+                    }).start();
+
+                }
+            });
+
 
         });
         mView.addUiClick(imgPriv, o -> {

+ 213 - 0
app/src/main/java/com/edufound/reader/presenter/PopWindowPresneter.java

@@ -0,0 +1,213 @@
+package com.edufound.reader.presenter;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Handler;
+import android.os.Message;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.edufound.reader.R;
+import com.edufound.reader.activity.MainActivity;
+import com.edufound.reader.adapter.PopupMyOrderAdapter;
+import com.edufound.reader.application.EApplication;
+import com.edufound.reader.listener.PopupRecordStatusListener;
+import com.edufound.reader.model.PopWindowModelImpl;
+import com.edufound.reader.popwindow.PopWindowUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+public class PopWindowPresneter {
+
+    PopWindowModelImpl mModel;
+
+    public PopWindowPresneter() {
+        mModel = new PopWindowModelImpl();
+    }
+
+    public void initRecordStatusWindow(Context context, View dialog_view, PopupRecordStatusListener listener) {
+        FrameLayout mOverFrame = dialog_view.findViewById(R.id.popupwindow_record_status_over_frame);
+        FrameLayout mUploadingFrame = dialog_view.findViewById(R.id.popupwindow_record_status_uploading_frame);
+        FrameLayout mUploadingSuccessFrame = dialog_view.findViewById(R.id.popupwindow_record_status_uploading_success_frame);
+        FrameLayout mUploadingErrorFrame = dialog_view.findViewById(R.id.popupwindow_record_status_uploading_error_frame);
+        LinearLayout startLayout = mOverFrame.findViewById(R.id.popupwindow_record_status_over_start_layout);
+        FrameLayout mRePlay = mOverFrame.findViewById(R.id.popupwindow_record_status_over_replay);
+        FrameLayout mUpload = mOverFrame.findViewById(R.id.popupwindow_record_status_over_upload);
+        //先显示评测报告,处理测评报告逻辑
+        {
+            mOverFrame.setVisibility(View.VISIBLE);
+            startLayout.removeAllViews();
+            for (int i = 0; i < 5; i++) {
+                ImageView start = new ImageView(context);
+                start.setImageResource(R.drawable.popup_record_status_over_stars_false);
+                start.setLayoutParams(new LinearLayout.LayoutParams(0, ViewGroup.LayoutParams.MATCH_PARENT, 1));
+                startLayout.addView(start);
+            }
+            int a = 10;
+            int b = 20;
+            int c = 30;
+            int d = 40;
+            TextView completionText = mOverFrame.findViewById(R.id.popupwindow_record_status_over_completion_text);
+            TextView correctrateText = mOverFrame.findViewById(R.id.popupwindow_record_status_over_correctrate_text);
+            TextView speedText = mOverFrame.findViewById(R.id.popupwindow_record_status_over_speed_text);
+            TextView intonationText = mOverFrame.findViewById(R.id.popupwindow_record_status_over_intonation_text);
+            completionText.post(new Runnable() {
+                @Override
+                public void run() {
+                    for (int completionPoint = 0; completionPoint < a; completionPoint++) {
+                        Message msg = new Message();
+                        msg.obj = completionText;
+                        msg.arg1 = completionPoint + 1;
+                        msg.what = 0x0131;
+                        handler.sendMessageDelayed(msg, 50 * completionPoint);
+                    }
+
+                }
+            });
+            correctrateText.post(new Runnable() {
+                @Override
+                public void run() {
+                    for (int correctrate = 0; correctrate < b; correctrate++) {
+                        Message msg = new Message();
+                        msg.obj = correctrateText;
+                        msg.arg1 = correctrate + 1;
+                        msg.what = 0x0131;
+                        handler.sendMessageDelayed(msg, 50 * correctrate);
+                    }
+
+                }
+            });
+            speedText.post(new Runnable() {
+                @Override
+                public void run() {
+                    for (int speed = 0; speed < c; speed++) {
+                        Message msg = new Message();
+                        msg.obj = speedText;
+                        msg.arg1 = speed + 1;
+                        msg.what = 0x0131;
+                        handler.sendMessageDelayed(msg, 50 * speed);
+                    }
+
+                }
+            });
+            intonationText.post(new Runnable() {
+                @Override
+                public void run() {
+                    for (int intonation = 0; intonation < d; intonation++) {
+                        Message msg = new Message();
+                        msg.obj = intonationText;
+                        msg.arg1 = intonation + 1;
+                        msg.what = 0x0131;
+                        handler.sendMessageDelayed(msg, 50 * intonation);
+                    }
+
+                }
+            });
+            mUpload.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View view) {
+                    //上传录音
+                    mOverFrame.setVisibility(View.GONE);
+                    mUploadingFrame.setVisibility(View.VISIBLE);
+                }
+            });
+            mRePlay.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View view) {
+//                    listener.clickReRecord();
+                    //上传成功逻辑
+                    {
+                        mUploadingSuccessFrame.setVisibility(View.VISIBLE);
+                        FrameLayout toLisMySelf = mUploadingSuccessFrame.findViewById(R.id.popup_record_status_upload_success_btn);
+                        toLisMySelf.setOnClickListener(new View.OnClickListener() {
+                            @Override
+                            public void onClick(View view) {
+                                PopWindowUtil.hidePopupWindow();
+                                Toast.makeText(context, "去听听(首页->我的tab)", Toast.LENGTH_SHORT).show();
+                                for (int i = 0; i < EApplication.mActivityList.size(); i++) {
+                                    EApplication.mActivityList.get(i).finish();
+                                }
+                                Intent intent = new Intent(context, MainActivity.class);
+                                intent.putExtra("defaultIndex", 0);
+                                context.startActivity(intent);
+                            }
+                        });
+                    }
+                }
+            });
+        }
+
+
+        //失败逻辑
+//        {
+//            mUploadingErrorFrame.setVisibility(View.VISIBLE);
+//            FrameLayout mCancelUpload = mUploadingErrorFrame.findViewById(R.id.popupwindow_record_status_uploading_error_cancel_upload);
+//            FrameLayout mReUpload = mUploadingErrorFrame.findViewById(R.id.popupwindow_record_status_uploading_error_re_upload);
+//            mCancelUpload.setOnClickListener(new View.OnClickListener() {
+//                @Override
+//                public void onClick(View view) {
+//                    PopWindowUtil.hidePopupWindow();
+//                }
+//            });
+//            mReUpload.setOnClickListener(new View.OnClickListener() {
+//                @Override
+//                public void onClick(View view) {
+//                    Toast.makeText(context, "重新上传", Toast.LENGTH_SHORT).show();
+//                }
+//            });
+//        }
+    }
+
+
+    public void myOrderWindowInit(Context context, View view) {
+        List<Object> mDataList = new ArrayList<>();
+//        for (int i = 0; i < 30; i++) {
+//            mDataList.add("i=" + i);
+//        }
+        if (mDataList != null && mDataList.size() > 0) {
+            RecyclerView rv = view.findViewById(R.id.popupwindow_myorder_recyclerview);
+            PopupMyOrderAdapter popupMyOrderAdapter = new PopupMyOrderAdapter(context, mDataList);
+            LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context);
+            linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
+            rv.setLayoutManager(linearLayoutManager);
+            rv.addOnChildAttachStateChangeListener(new RecyclerView.OnChildAttachStateChangeListener() {
+                @Override
+                public void onChildViewAttachedToWindow(@androidx.annotation.NonNull View view) {
+                }
+
+                @Override
+                public void onChildViewDetachedFromWindow(@androidx.annotation.NonNull View view) {
+
+                }
+            });
+            rv.setAdapter(popupMyOrderAdapter);
+        } else {
+            view.findViewById(R.id.popupwindow_myorder_noitem).setVisibility(View.VISIBLE);
+        }
+    }
+
+
+    private static Handler handler = new Handler(new Handler.Callback() {
+        @Override
+        public boolean handleMessage(@NonNull Message message) {
+            switch (message.what) {
+
+                case 0x0131:
+                    ((TextView) message.obj).setText(message.arg1 + "/100");
+                    break;
+
+            }
+            return false;
+        }
+    });
+}

+ 19 - 1
app/src/main/java/com/edufound/reader/presenter/RecordPresenter.java

@@ -11,7 +11,9 @@ import com.edufound.reader.base.BasePresenter;
 import com.edufound.reader.contract.RecordContract;
 import com.edufound.reader.cusview.FullScreenVideoController;
 import com.edufound.reader.cusview.RvListJzvdStd;
+import com.edufound.reader.listener.PopupRecordStatusListener;
 import com.edufound.reader.model.RecordModel;
+import com.edufound.reader.popwindow.PopWindowUtil;
 import com.edufound.reader.videoutil.JZMediaIjk;
 
 import cn.jzvd.JZDataSource;
@@ -59,7 +61,7 @@ public class RecordPresenter extends BasePresenter<RecordContract.View> implemen
         play_url = "https://reader-wx.ai160.com/reader/resource/video/1610961140479648.mp4";
         Toast.makeText(mView.getActivity(), "index:" + index, Toast.LENGTH_SHORT).show();
         mVideoView.setUp(new JZDataSource(play_url), JzvdStd.SCREEN_FULLSCREEN, JZMediaIjk.class);
-        mVideoView.startVideoAfterPreloading();
+//        mVideoView.startVideoAfterPreloading();
     }
 
     @Override
@@ -120,6 +122,22 @@ public class RecordPresenter extends BasePresenter<RecordContract.View> implemen
 
     }
 
+    @Override
+    public void showRecordStatusWindow() {
+        PopWindowUtil.showRecordStatusWindow(mView.getActivity(), mView.getRootView(), new PopupRecordStatusListener() {
+            @Override
+            public void clickReRecord() {
+                Toast.makeText(mView.getActivity(), "重新录制", Toast.LENGTH_SHORT).show();
+                PopWindowUtil.hidePopupWindow();
+            }
+
+            @Override
+            public void clickUploadingErrorBtn() {
+                Toast.makeText(mView.getActivity(), "上传失败按钮", Toast.LENGTH_SHORT).show();
+            }
+        });
+    }
+
 }
 
 

+ 1 - 1
app/src/main/java/com/edufound/reader/presenter/SmallFullVideoPresenter.java

@@ -21,7 +21,7 @@ public class SmallFullVideoPresenter extends BasePresenter<SmallFullVideoContrac
         mModel = new SmallFullVideoModel();
         mFragmentManager = fragmentManager;
         mRecommendFragment = new RecommendFragment(2);
-        mRecommendFragment.hiddenBottomView();
+//        mRecommendFragment.hiddenBottomView();
 
     }
 

二進制
app/src/main/res/drawable/activity_record_start1.png


二進制
app/src/main/res/drawable/activity_record_start2.png


二進制
app/src/main/res/drawable/activity_record_start3.png


二進制
app/src/main/res/drawable/activity_record_start4.png


二進制
app/src/main/res/drawable/activity_record_start5.png


二進制
app/src/main/res/drawable/activity_userinfo_setting_item_grade_bg.png


二進制
app/src/main/res/drawable/adapter_item_record_authority_allcount.png


二進制
app/src/main/res/drawable/fragment_my_vip_renew.png


二進制
app/src/main/res/drawable/popup_record_status_over.png


二進制
app/src/main/res/drawable/popup_record_status_over_stars_false.png


二進制
app/src/main/res/drawable/popup_record_status_over_stars_true.png


二進制
app/src/main/res/drawable/popup_record_status_upload_error.png


二進制
app/src/main/res/drawable/popup_record_status_upload_start.png


二進制
app/src/main/res/drawable/popup_record_status_upload_success.png


二進制
app/src/main/res/drawable/popup_record_uploading_loading.png


二進制
app/src/main/res/drawable/popupwinow_myorder_noitem.png


+ 20 - 0
app/src/main/res/layout/activity_crash_dialog.xml

@@ -6,4 +6,24 @@
         android:layout_height="match_parent"
         android:background="@color/transparent">
 
+
+    <HorizontalScrollView
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent">
+
+        <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="fill_parent">
+
+            <com.edufound.reader.cusview.AblGridView
+                    android:id="@+id/test_gridview"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"></com.edufound.reader.cusview.AblGridView>
+        </LinearLayout>
+    </HorizontalScrollView>
+
 </androidx.constraintlayout.widget.ConstraintLayout>

+ 4 - 0
app/src/main/res/layout/activity_pay.xml

@@ -78,6 +78,7 @@
                             android:layout_weight="1">
 
                         <androidx.constraintlayout.widget.ConstraintLayout
+                                android:id="@+id/activity_pay_year_item"
                                 android:layout_width="522dp"
                                 android:layout_height="190dp"
                                 android:layout_gravity="center"
@@ -162,6 +163,7 @@
 
 
                             <ImageView
+                                    android:id="@+id/activity_pay_year_item_check"
                                     android:layout_width="73dp"
                                     android:layout_height="58dp"
                                     android:layout_marginEnd="12dp"
@@ -184,6 +186,7 @@
                             android:layout_weight="1">
 
                         <androidx.constraintlayout.widget.ConstraintLayout
+                                android:id="@+id/activity_pay_month_item"
                                 android:layout_width="522dp"
                                 android:layout_height="190dp"
                                 android:layout_gravity="center"
@@ -268,6 +271,7 @@
 
 
                             <ImageView
+                                    android:id="@+id/activity_pay_month_item_check"
                                     android:layout_width="73dp"
                                     android:layout_height="58dp"
                                     android:layout_marginEnd="12dp"

+ 7 - 3
app/src/main/res/layout/activity_video.xml

@@ -35,7 +35,7 @@
 
         <LinearLayout
                 android:layout_width="81dp"
-                android:layout_height="101dp"
+                android:layout_height="121dp"
                 android:layout_gravity="right|bottom"
                 android:layout_marginRight="45dp"
                 android:layout_marginBottom="220dp"
@@ -54,6 +54,7 @@
                         android:src="@drawable/to_record_bg"></ImageView>
 
                 <ImageView
+                        android:id="@+id/activity_record_demonstration_icon"
                         android:layout_width="match_parent"
                         android:layout_height="match_parent"
                         android:layout_gravity="center"
@@ -90,6 +91,7 @@
                         android:src="@drawable/to_record_bg"></ImageView>
 
                 <ImageView
+
                         android:layout_width="match_parent"
                         android:layout_height="match_parent"
                         android:layout_gravity="center"
@@ -97,14 +99,16 @@
                         android:src="@drawable/to_record_icon"></ImageView>
 
                 <ImageView
+                        android:id="@+id/activity_record_mike_icon"
                         android:layout_width="match_parent"
                         android:layout_height="match_parent"
                         android:layout_gravity="center"
-                        android:padding="38dp"
-                        android:src="@drawable/to_record_icon_mike"></ImageView>
+                        android:layout_margin="38dp"
+                        android:background="@drawable/to_record_icon_mike"></ImageView>
             </FrameLayout>
 
             <TextView
+                    android:id="@+id/activity_record_mike_status"
                     android:layout_width="match_parent"
                     android:layout_height="38dp"
                     android:layout_gravity="center"

+ 1 - 7
app/src/main/res/layout/activity_userinfo_setting.xml

@@ -214,7 +214,7 @@
                                             android:layout_width="401dp"
                                             android:layout_height="60dp"
                                             android:layout_marginLeft="11dp"
-                                            android:background="@drawable/activity_userinfo_setting_item_bg">
+                                            android:background="@drawable/activity_userinfo_setting_item_grade_bg">
 
                                         <TextView
                                                 android:layout_width="match_parent"
@@ -225,12 +225,6 @@
                                                 android:textColor="@color/white"
                                                 android:textSize="36dp"></TextView>
 
-                                        <ImageView
-                                                android:layout_width="27dp"
-                                                android:layout_height="27dp"
-                                                android:layout_gravity="center|right"
-                                                android:layout_marginRight="43dp"
-                                                android:src="@color/black"></ImageView>
                                     </FrameLayout>
                                 </LinearLayout>
                             </LinearLayout>

+ 1 - 1
app/src/main/res/layout/adapter_item_myfollow.xml

@@ -168,7 +168,7 @@
                             android:layout_gravity="center"
                             android:layout_weight="1"
                             android:scaleType="center"
-                            android:src="@drawable/adapter_item_record_start"></ImageView>
+                            android:src="@drawable/adapter_item_record_stars"></ImageView>
 
                     <TextView
                             android:id="@+id/adapter_item_record_authority_start_num"

+ 84 - 0
app/src/main/res/layout/adapter_item_popupwindow_myorder.xml

@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>
+<com.edufound.reader.cusview.RoundFrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        xmlns:roundframelayout="http://schemas.android.com/apk/res-auto"
+        android:layout_width="952dp"
+        android:layout_height="180dp"
+        android:layout_gravity="center"
+        android:layout_marginBottom="40dp"
+        android:background="@color/white"
+        roundframelayout:radio="20">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+
+        <TextView
+                android:id="@+id/popupwindow_myorder_time"
+                android:layout_width="wrap_content"
+                android:layout_height="50dp"
+                android:layout_marginStart="30dp"
+                android:layout_marginTop="20dp"
+                android:text="2021-08-06 23:00:21"
+                android:textColor="#666666"
+                android:textSize="36dp"
+                roundframelayout:layout_constraintBottom_toBottomOf="parent"
+                roundframelayout:layout_constraintEnd_toEndOf="parent"
+                roundframelayout:layout_constraintHorizontal_bias="0.0"
+                roundframelayout:layout_constraintStart_toStartOf="parent"
+                roundframelayout:layout_constraintTop_toTopOf="parent"
+                roundframelayout:layout_constraintVertical_bias="0.0"></TextView>
+
+
+        <TextView
+                android:id="@+id/popupwindow_myorder_status"
+                android:layout_width="wrap_content"
+                android:layout_height="50dp"
+                android:layout_marginTop="20dp"
+                android:layout_marginEnd="52dp"
+                android:text="支付成功"
+                android:textColor="#1BB24E"
+                android:textSize="36dp"
+                roundframelayout:layout_constraintBottom_toBottomOf="parent"
+                roundframelayout:layout_constraintEnd_toEndOf="parent"
+                roundframelayout:layout_constraintHorizontal_bias="1.0"
+                roundframelayout:layout_constraintStart_toStartOf="parent"
+                roundframelayout:layout_constraintTop_toTopOf="parent"
+                roundframelayout:layout_constraintVertical_bias="0.0"></TextView>
+
+
+        <TextView
+                android:id="@+id/popupwindow_myorder_name"
+                android:layout_width="wrap_content"
+                android:layout_height="50dp"
+                android:layout_marginStart="30dp"
+                android:layout_marginBottom="20dp"
+                android:text="朗读配音1个月VIP"
+                android:textColor="#000000"
+                android:textSize="36dp"
+                roundframelayout:layout_constraintBottom_toBottomOf="parent"
+                roundframelayout:layout_constraintEnd_toEndOf="parent"
+                roundframelayout:layout_constraintHorizontal_bias="0.0"
+                roundframelayout:layout_constraintStart_toStartOf="parent"
+                roundframelayout:layout_constraintTop_toTopOf="parent"
+                roundframelayout:layout_constraintVertical_bias="1.0"></TextView>
+
+
+        <TextView
+                android:id="@+id/popupwindow_myorder_paymoney"
+                android:layout_width="wrap_content"
+                android:layout_height="50dp"
+                android:layout_marginEnd="52dp"
+                android:layout_marginBottom="20dp"
+                android:text="实际支付金额:¥10"
+                android:textColor="#000000"
+                android:textSize="36dp"
+                roundframelayout:layout_constraintBottom_toBottomOf="parent"
+                roundframelayout:layout_constraintEnd_toEndOf="parent"
+                roundframelayout:layout_constraintHorizontal_bias="1.0"
+                roundframelayout:layout_constraintStart_toStartOf="parent"
+                roundframelayout:layout_constraintTop_toTopOf="parent"
+                roundframelayout:layout_constraintVertical_bias="1.0"></TextView>
+
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</com.edufound.reader.cusview.RoundFrameLayout>

+ 1 - 1
app/src/main/res/layout/adapter_item_record_user.xml

@@ -162,7 +162,7 @@
                             android:layout_gravity="center"
                             android:layout_weight="1"
                             android:scaleType="center"
-                            android:src="@drawable/adapter_item_record_start"></ImageView>
+                            android:src="@drawable/adapter_item_record_stars"></ImageView>
 
                     <TextView
                             android:id="@+id/adapter_item_record_user_start_num"

+ 439 - 0
app/src/main/res/layout/popupwindow_record_status.xml

@@ -0,0 +1,439 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/translucent_background">
+
+    <FrameLayout
+            android:layout_width="738dp"
+            android:layout_height="630dp"
+            android:layout_gravity="center">
+
+        <!-- 评测完成-->
+        <FrameLayout
+                android:id="@+id/popupwindow_record_status_over_frame"
+                android:layout_width="718dp"
+                android:layout_height="630dp"
+                android:layout_gravity="center|left"
+                android:background="@drawable/popup_record_status_over"
+                android:visibility="gone">
+
+            <LinearLayout
+                    android:id="@+id/popupwindow_record_status_over_layout"
+                    android:layout_width="685dp"
+                    android:layout_height="400dp"
+                    android:layout_gravity="center"
+                    android:layout_marginTop="100dp"
+                    android:orientation="vertical">
+
+                <LinearLayout
+                        android:id="@+id/popupwindow_record_status_over_start_layout"
+                        android:layout_width="wrap_content"
+                        android:layout_height="59dp"
+                        android:layout_gravity="center|top"
+                        android:divider="@drawable/popup_record_status_over_stars_divider"
+                        android:orientation="horizontal"
+                        android:showDividers="middle">
+
+                    <ImageView
+                            android:layout_width="58dp"
+                            android:layout_height="match_parent"
+                            android:src="@drawable/popup_record_status_over_stars_true"></ImageView>
+
+                    <ImageView
+                            android:layout_width="58dp"
+                            android:layout_height="match_parent"
+                            android:src="@drawable/popup_record_status_over_stars_true"></ImageView>
+
+                    <ImageView
+                            android:layout_width="58dp"
+                            android:layout_height="match_parent"
+                            android:src="@drawable/popup_record_status_over_stars_true"></ImageView>
+
+                    <ImageView
+                            android:layout_width="58dp"
+                            android:layout_height="match_parent"
+                            android:src="@drawable/popup_record_status_over_stars_true"></ImageView>
+
+                    <ImageView
+                            android:layout_width="58dp"
+                            android:layout_height="match_parent"
+                            android:src="@drawable/popup_record_status_over_stars_true"></ImageView>
+                </LinearLayout>
+
+                <GridLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="150dp"
+                        android:layout_marginTop="24dp"
+                        android:columnCount="2"
+                        android:paddingLeft="20dp"
+                        android:paddingRight="20dp">
+
+                    <LinearLayout
+                            android:layout_rowWeight="1"
+                            android:layout_columnWeight="1"
+                            android:gravity="center"
+                            android:orientation="horizontal">
+
+                        <ImageView
+                                android:layout_width="17dp"
+                                android:layout_height="17dp"
+                                android:layout_gravity="center"
+                                android:src="#CDA069"></ImageView>
+
+                        <TextView
+                                android:layout_width="140dp"
+                                android:layout_height="match_parent"
+                                android:layout_marginLeft="15dp"
+                                android:gravity="center|left"
+                                android:text="完成度:"
+                                android:textColor="#AB722D"
+                                android:textSize="34dp"></TextView>
+
+                        <TextView
+                                android:id="@+id/popupwindow_record_status_over_completion_text"
+                                android:layout_width="130dp"
+                                android:layout_height="match_parent"
+                                android:gravity="center|left"
+                                android:text="100/100"
+                                android:textColor="#AB722D"
+                                android:textSize="34dp"></TextView>
+                    </LinearLayout>
+
+                    <LinearLayout
+                            android:layout_rowWeight="1"
+                            android:layout_columnWeight="1"
+                            android:layout_marginLeft="40dp">
+
+                        <ImageView
+                                android:layout_width="17dp"
+                                android:layout_height="17dp"
+                                android:layout_gravity="center"
+                                android:src="#CDA069"></ImageView>
+
+                        <TextView
+                                android:layout_width="140dp"
+                                android:layout_height="match_parent"
+                                android:layout_marginLeft="15dp"
+                                android:gravity="center|left"
+                                android:text="正确率:"
+                                android:textColor="#AB722D"
+                                android:textSize="34dp"></TextView>
+
+                        <TextView
+                                android:id="@+id/popupwindow_record_status_over_correctrate_text"
+                                android:layout_width="130dp"
+                                android:layout_height="match_parent"
+                                android:gravity="center|left"
+                                android:text="100/100"
+                                android:textColor="#AB722D"
+                                android:textSize="34dp"></TextView>
+                    </LinearLayout>
+
+                    <LinearLayout
+                            android:layout_rowWeight="1"
+                            android:layout_columnWeight="1"
+                            android:gravity="center"
+                            android:orientation="horizontal">
+
+                        <ImageView
+                                android:layout_width="17dp"
+                                android:layout_height="17dp"
+                                android:layout_gravity="center"
+                                android:src="#CDA069"></ImageView>
+
+                        <TextView
+                                android:layout_width="140dp"
+                                android:layout_height="match_parent"
+                                android:layout_marginLeft="15dp"
+                                android:gravity="center|left"
+                                android:text="语速:"
+                                android:textColor="#AB722D"
+                                android:textSize="34dp"></TextView>
+
+                        <TextView
+                                android:id="@+id/popupwindow_record_status_over_speed_text"
+                                android:layout_width="130dp"
+                                android:layout_height="match_parent"
+                                android:gravity="center|left"
+                                android:text="100/100"
+                                android:textColor="#AB722D"
+                                android:textSize="34dp"></TextView>
+                    </LinearLayout>
+
+                    <LinearLayout
+                            android:layout_rowWeight="1"
+                            android:layout_columnWeight="1"
+                            android:layout_marginLeft="40dp">
+
+                        <ImageView
+                                android:layout_width="17dp"
+                                android:layout_height="17dp"
+                                android:layout_gravity="center"
+                                android:src="#CDA069"></ImageView>
+
+                        <TextView
+                                android:layout_width="140dp"
+                                android:layout_height="match_parent"
+                                android:layout_marginLeft="15dp"
+                                android:gravity="center|left"
+                                android:text="语调:"
+                                android:textColor="#AB722D"
+                                android:textSize="34dp"></TextView>
+
+                        <TextView
+                                android:id="@+id/popupwindow_record_status_over_intonation_text"
+                                android:layout_width="130dp"
+                                android:layout_height="match_parent"
+                                android:gravity="center|left"
+                                android:text="100/100"
+                                android:textColor="#AB722D"
+                                android:textSize="34dp"></TextView>
+                    </LinearLayout>
+                </GridLayout>
+
+                <Space
+                        android:layout_width="match_parent"
+                        android:layout_height="80dp"></Space>
+
+                <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="70dp"
+                        android:orientation="horizontal">
+
+                    <FrameLayout
+                            android:layout_width="0dp"
+                            android:layout_height="match_parent"
+                            android:layout_weight="1">
+
+                        <FrameLayout
+                                android:id="@+id/popupwindow_record_status_over_replay"
+                                android:layout_width="182dp"
+                                android:layout_height="70dp"
+                                android:layout_gravity="center"
+                                android:background="@drawable/main_ok_btn_bg">
+
+                            <TextView
+                                    android:layout_width="match_parent"
+                                    android:layout_height="match_parent"
+                                    android:gravity="center"
+                                    android:text="点击重录"
+                                    android:textColor="@color/white"
+                                    android:textSize="31dp"></TextView>
+                        </FrameLayout>
+                    </FrameLayout>
+
+                    <FrameLayout
+                            android:layout_width="0dp"
+                            android:layout_height="match_parent"
+                            android:layout_gravity="center"
+                            android:layout_weight="1">
+
+                        <FrameLayout
+                                android:id="@+id/popupwindow_record_status_over_upload"
+                                android:layout_width="182dp"
+                                android:layout_height="70dp"
+                                android:layout_gravity="center"
+                                android:background="@drawable/main_cancel_btn_bg">
+
+                            <TextView
+                                    android:layout_width="match_parent"
+                                    android:layout_height="match_parent"
+                                    android:gravity="center"
+                                    android:text="上传作品"
+                                    android:textColor="@color/white"
+                                    android:textSize="31dp"></TextView>
+                        </FrameLayout>
+                    </FrameLayout>
+                </LinearLayout>
+            </LinearLayout>
+        </FrameLayout>
+
+
+        <!-- 上传中-->
+        <FrameLayout
+                android:id="@+id/popupwindow_record_status_uploading_frame"
+                android:layout_width="718dp"
+                android:layout_height="630dp"
+                android:layout_gravity="center|left"
+                android:background="@drawable/popup_record_status_upload_start"
+                android:visibility="gone">
+
+            <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="54dp"
+                    android:layout_gravity="center"
+                    android:layout_marginBottom="30dp"
+                    android:text="请耐心等候···"
+                    android:textColor="#AB722D"
+                    android:textSize="40dp"></TextView>
+
+            <FrameLayout
+                    android:layout_width="197dp"
+                    android:layout_height="197dp"
+                    android:layout_gravity="center"
+                    android:layout_marginTop="120dp">
+
+                <ProgressBar
+                        android:layout_width="170dp"
+                        android:layout_height="170dp"
+                        android:layout_centerHorizontal="true"
+                        android:layout_centerVertical="true"
+                        android:layout_gravity="center"
+                        android:indeterminateDrawable="@drawable/popup_record_uploading_loading_anim"></ProgressBar>
+
+                <TextView
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        android:gravity="center"
+                        android:text="loading..."
+                        android:textColor="#6CBDFE"
+                        android:textSize="20dp"></TextView>
+            </FrameLayout>
+        </FrameLayout>
+
+
+        <!-- 上传成功-->
+        <FrameLayout
+                android:id="@+id/popupwindow_record_status_uploading_success_frame"
+                android:layout_width="718dp"
+                android:layout_height="630dp"
+                android:layout_gravity="center|left"
+                android:background="@drawable/popup_record_status_upload_success"
+                android:visibility="gone">
+
+            <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:layout_marginTop="20dp"
+                    android:gravity="center"
+                    android:lineHeight="54dp"
+                    android:text="恭喜您的作品上传成功\n快去听听自己的作品吧!"
+                    android:textColor="#AB722D"
+                    android:textSize="40dp"></TextView>
+
+            <FrameLayout
+                    android:id="@+id/popup_record_status_upload_success_btn"
+                    android:layout_width="182dp"
+                    android:layout_height="70dp"
+                    android:layout_gravity="center|bottom"
+                    android:layout_marginBottom="30dp"
+                    android:background="@drawable/main_cancel_btn_bg">
+
+                <TextView
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        android:gravity="center"
+                        android:text="去听听"
+                        android:textColor="@color/white"
+                        android:textSize="31dp"></TextView>
+            </FrameLayout>
+        </FrameLayout>
+
+
+        <!-- 上传失败-->
+        <FrameLayout
+                android:id="@+id/popupwindow_record_status_uploading_error_frame"
+                android:layout_width="718dp"
+                android:layout_height="630dp"
+                android:layout_gravity="center|left"
+                android:background="@drawable/popup_record_status_upload_error"
+                android:visibility="gone">
+
+            <LinearLayout
+                    android:layout_width="300dp"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:layout_marginTop="20dp"
+                    android:gravity="center"
+                    android:orientation="vertical">
+
+                <TextView
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center"
+                        android:gravity="center"
+                        android:lineHeight="54dp"
+                        android:text="作品上传失败!"
+                        android:textColor="#AB722D"
+                        android:textSize="40dp"></TextView>
+
+                <TextView
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center"
+                        android:layout_marginTop="20dp"
+                        android:gravity="center"
+                        android:lineHeight="54dp"
+                        android:text="请重新上传!"
+                        android:textColor="#AB722D"
+                        android:textSize="40dp"></TextView>
+            </LinearLayout>
+
+
+            <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="70dp"
+                    android:layout_gravity="center|bottom"
+                    android:layout_marginBottom="30dp"
+                    android:orientation="horizontal">
+
+                <FrameLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1">
+
+                    <FrameLayout
+                            android:id="@+id/popupwindow_record_status_uploading_error_cancel_upload"
+                            android:layout_width="182dp"
+                            android:layout_height="70dp"
+                            android:layout_gravity="center"
+                            android:background="@drawable/main_ok_btn_bg">
+
+                        <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="match_parent"
+                                android:gravity="center"
+                                android:text="取消上传"
+                                android:textColor="@color/white"
+                                android:textSize="31dp"></TextView>
+                    </FrameLayout>
+                </FrameLayout>
+
+                <FrameLayout
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1">
+
+                    <FrameLayout
+                            android:id="@+id/popupwindow_record_status_uploading_error_re_upload"
+                            android:layout_width="182dp"
+                            android:layout_height="70dp"
+                            android:layout_gravity="center"
+                            android:background="@drawable/main_cancel_btn_bg">
+
+                        <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="match_parent"
+                                android:gravity="center"
+                                android:text="重新上传"
+                                android:textColor="@color/white"
+                                android:textSize="31dp"></TextView>
+                    </FrameLayout>
+                </FrameLayout>
+            </LinearLayout>
+
+
+        </FrameLayout>
+
+        <ImageView
+                android:id="@+id/popupwindow_record_status_close"
+                android:layout_width="77dp"
+                android:layout_height="77dp"
+                android:layout_gravity="top|right"
+                android:layout_marginTop="80dp"
+                android:src="@drawable/activity_loginalert_close"></ImageView>
+    </FrameLayout>
+
+</FrameLayout>