Просмотр исходного кода

优化用户体验:
修复切换到邀请赚钱会闪一下的问题
升级对话框底部距离优化

zengjiebin лет назад: 7
Родитель
Сommit
0abfb36931

+ 10 - 0
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -30,6 +30,7 @@ import android.view.Display;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.view.ViewGroup;
 import android.view.Window;
 import android.view.WindowManager;
 import android.webkit.WebView;
@@ -970,6 +971,15 @@ public class ViewUtil {
                 }
                 if(msg.startsWith("<p>")){//<p></p>这种格式的用dialog_msg.setText(Html.fromHtml(msg));方式显示,避免高度变化,影响用户体验
                     dialog_msg.setText(Html.fromHtml(msg));
+                    if(msg.split("<p>").length > 1){
+                        ViewGroup.LayoutParams msgLayoutParams = dialog_msg.getLayoutParams();
+                        if(msgLayoutParams instanceof LinearLayout.LayoutParams){
+                            ((LinearLayout.LayoutParams) msgLayoutParams).bottomMargin *= -2;
+                        } else if(BuildConfig.DEBUG){
+                            G.showToast("这里的bottomMargin显得多了,需要干掉");
+                        }
+                        dialog_msg.setLayoutParams(msgLayoutParams);
+                    }
                 } else {
                     setColorMapText(dialog_msg, msg, dialogConfig.getColorMsgMap());
                 }

+ 24 - 23
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtAskGetMoney.java

@@ -20,6 +20,7 @@ import com.sheep.gamegroup.model.entity.FriendAndAwardEntity;
 import com.sheep.gamegroup.model.entity.UserEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.GlideImageLoader;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.StringUtils;
@@ -31,6 +32,7 @@ import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
+import org.afinal.simplecache.ApiKey;
 import org.greenrobot.eventbus.EventBus;
 
 import butterknife.BindView;
@@ -161,10 +163,8 @@ public class FgtAskGetMoney extends BaseFragment {
 
     private UserEntity userEntity;
 
-    public void initData(final boolean isShow) {
-        if (isShow){
-            showProgress();
-        }else {
+    public void initData(final boolean isNotRefresh) {
+        if (!isNotRefresh){
             EventBus.getDefault().post(BigEvent.get().setEventTypes(EventTypes.ASK_GETMONEY_FRIEND_REFRESH));
         }
         SheepApp.getInstance().getNetComponent().getApiService().FriendCountAndAward()
@@ -173,8 +173,6 @@ public class FgtAskGetMoney extends BaseFragment {
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                     @Override
                     public void onError(BaseMessage baseMessage) {
-                        if (isShow)
-                            hideProgress();
                         if (BuildConfig.DEBUG)
                             G.showToast(baseMessage);
                     }
@@ -182,19 +180,19 @@ public class FgtAskGetMoney extends BaseFragment {
                     @Override
                     public void onNext(BaseMessage baseMessage) {
                         if (baseMessage != null) {
-                            mEntity = baseMessage.getData(FriendAndAwardEntity.class);
-                            if (isShow)
-                                hideProgress();
-                            activity.runOnUiThread(new Runnable() {
-                                @Override
-                                public void run() {
-                                    tvSize.setText(mEntity.getFriend_count() + "");
-                                    tvMoney.setText(mEntity.getAward());
-                                }
-                            });
-                        } else {
-                            if (isShow)
-                                hideProgress();
+                            boolean isNewData = DataUtil.getInstance().isNewData(ApiKey.FRIEND_COUNT_AND_AWARD);
+                            if(mEntity == null || isNewData){
+                                mEntity = baseMessage.getData(FriendAndAwardEntity.class);
+                                activity.runOnUiThread(new Runnable() {
+                                    @Override
+                                    public void run() {
+                                        if(mEntity != null) {
+                                            ViewUtil.setText(tvSize, String.valueOf(mEntity.getFriend_count()));
+                                            ViewUtil.setText(tvMoney, String.valueOf(mEntity.getAward()));
+                                        }
+                                    }
+                                });
+                            }
                         }
 
                     }
@@ -203,10 +201,13 @@ public class FgtAskGetMoney extends BaseFragment {
             @Override
             public void call(UserEntity result) {
                 if (result != null) {
-                    userEntity = result;
-                    String audit_total_audit = String.format(activity.getResources().getString(R.string.my_invitation_str), userEntity.getInvitation_code());
-                    ask_act_code.setText(audit_total_audit);
-                    my_invitation_tv.setText(audit_total_audit);
+                    boolean isNewData = DataUtil.getInstance().isNewData(ApiKey.get_info);
+                    if(userEntity == null || isNewData) {
+                        userEntity = result;
+                        String audit_total_audit = String.format(activity.getResources().getString(R.string.my_invitation_str), userEntity.getInvitation_code());
+                        ask_act_code.setText(audit_total_audit);
+                        my_invitation_tv.setText(audit_total_audit);
+                    }
                 }
             }
         });

+ 1 - 0
app/src/main/java/org/afinal/simplecache/ApiKey.java

@@ -100,5 +100,6 @@ public class ApiKey {
     public static final String slideshowGame = "app/game_banner?platform=1";
     public static final String friend_count_and_award = "app/user/friend_count_and_award";
     public static final String MY_ASSETS = "app/user/my_assets";
+    public static final String FRIEND_COUNT_AND_AWARD = "app/user/friend_count_and_award";
 
 }