Selaa lähdekoodia

启动页面优化;绑定手机号界面返回键功能修改;发现中游戏详情界面优化

zengjiebin 7 vuotta sitten
vanhempi
commit
e93571fbe8

+ 20 - 8
app/src/main/java/com/sheep/gamegroup/view/activity/ActFindGame.java

@@ -125,6 +125,16 @@ public class ActFindGame extends BaseActivity {
         ((AppBarLayout) findViewById(R.id.appbar_act_game_details)).addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
             @Override
             public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
+                int nameWidth = find_game_name_tv.getWidth();
+                if (nameWidth == 0) {
+                    find_game_name_tv.measure(0, 0);
+                    nameWidth = find_game_name_tv.getMeasuredWidth();
+                }
+                int infoWidth = find_game_info_tv.getWidth();
+                if (infoWidth == 0) {
+                    find_game_info_tv.measure(0, 0);
+                    infoWidth = find_game_info_tv.getMeasuredWidth();
+                }
                 //图标位置变化
                 int find_game_top = getResources().getDimensionPixelSize(R.dimen.find_game_top);
                 int find_icon_with = getResources().getDimensionPixelSize(R.dimen.find_icon_with);
@@ -132,6 +142,7 @@ public class ActFindGame extends BaseActivity {
                 int titleHeight = img_baseactivity_title.getHeight();
                 int titleWidth = img_baseactivity_title.getWidth();
                 int topRow = (titleHeight - find_game_name_tv.getHeight() - find_game_info_tv.getHeight()) / 5;
+                int leftRow = isNeedReservation ? topRow : 5 * topRow;
 
                 int willTop = Math.max(topRow/2, find_game_top + verticalOffset);
                 int row = (find_icon_with * willTop + titleHeight * (find_game_top - willTop)) / find_game_top - topRow;
@@ -143,13 +154,13 @@ public class ActFindGame extends BaseActivity {
                 find_game_iv.setLayoutParams(layoutParams);
                 //名字位置变化
                 RelativeLayout.LayoutParams layoutParams2 = (RelativeLayout.LayoutParams) find_game_name_tv.getLayoutParams();
-                layoutParams2.leftMargin = Math.max(titleWidth + row + 2 * topRow, (G.WIDTH - find_game_name_tv.getWidth()) / 2 + verticalOffset);
+                layoutParams2.leftMargin = Math.max(titleWidth + row + 2 * leftRow, (G.WIDTH - nameWidth) / 2 + verticalOffset);
                 layoutParams2.topMargin = Math.max(2 * topRow, getResources().getDimensionPixelSize(R.dimen.find_game_top2) + verticalOffset);
                 find_game_name_tv.setLayoutParams(layoutParams2);
                 //信息位置变化
                 RelativeLayout.LayoutParams layoutParams3 = (RelativeLayout.LayoutParams) find_game_info_tv.getLayoutParams();
-                int left1 = (G.WIDTH - find_game_info_tv.getWidth()) / 2;
-                int left2 = titleWidth + row + 2 * topRow;
+                int left1 = (G.WIDTH - infoWidth) / 2;
+                int left2 = titleWidth + row + 2 * leftRow;
                 layoutParams3.leftMargin = left2 > left1 ? Math.min(left2, left1 - verticalOffset) : Math.max(left2, left1 + verticalOffset);
                 layoutParams3.topMargin = Math.max(find_game_name_tv.getHeight() + 4 * topRow, getResources().getDimensionPixelSize(R.dimen.find_game_top3) + verticalOffset);
                 find_game_info_tv.setLayoutParams(layoutParams3);
@@ -163,7 +174,6 @@ public class ActFindGame extends BaseActivity {
                 layoutParams5.topMargin = getResources().getDimensionPixelSize(R.dimen.find_game_top5) + verticalOffset;
                 find_game_xin.setLayoutParams(layoutParams5);
                 if (willTop == topRow/2) {
-                    LogUtil.println("ActFindGame", "onOffsetChanged", 2, verticalOffset);
                     if (mIsExpanded) {
 //                        txt_baseactivity_title.setVisibility(View.INVISIBLE);
                         find_game_bar.setVisibility(View.VISIBLE);
@@ -314,17 +324,19 @@ public class ActFindGame extends BaseActivity {
     TextView find_game_down_tv;
 
     private FindApp findApp;
-
+    private boolean isNeedReservation = false;
     private void loadData(final FindApp findApp) {
         this.findApp = findApp;
         //游戏简介与下载
         ViewUtil.setImage(find_game_iv, findApp.getIcon());
         ViewUtil.setText(find_game_name_tv, findApp.getName());
-        final boolean isNeedReservation = !findApp.isCanDonload();//这里认为只有两种状态:可下载与预约下载
+        isNeedReservation = !findApp.isCanDonload();//这里认为只有两种状态:可下载与预约下载
         if (isNeedReservation)
             ViewUtil.setText(find_game_info_tv, String.format(Locale.CHINA, "开放时间:%s", TimeUtil.TimeStamp2Date(findApp.getDownload_at(), "yyyy-MM-dd\u0020HH:mm")));
-        else
-            ViewUtil.setText(find_game_info_tv, String.format(Locale.CHINA, "厂商:%s | 版本号:%s\u0020包体大小:%sM", findApp.getManufacturer(), findApp.getVersions(), findApp.getPackage_size()));
+        else {
+            String format = !TextUtils.isEmpty(findApp.getManufacturer()) && findApp.getManufacturer().length() > 5 ? "厂商:%s\n版本号:%s | 包体大小:%sM" : "厂商:%s | 版本号:%s\n包体大小:%sM";
+            ViewUtil.setText(find_game_info_tv, String.format(Locale.CHINA, format, findApp.getManufacturer(), findApp.getVersions(), findApp.getPackage_size()));
+        }
 
         find_game_xin.setRating(findApp.getScore() / 2);
 

+ 5 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ChangeTelAct.java

@@ -466,6 +466,11 @@ public class ChangeTelAct extends BaseActivity implements PhoneContract.View{
     }
 
     @Override
+    public void onBackPressed() {
+        toFinish();
+    }
+
+    @Override
     protected void onDestroy() {
         super.onDestroy();
         if(selfCountDownTimer != null){

+ 24 - 19
app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java

@@ -115,12 +115,16 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
         @Override
         public void handleMessage(Message msg) {
             super.handleMessage(msg);
-            if(!isRequestCodePermissions && !isLoaddingData)
+            if(!isRequestCodePermissions && !isLoaddingData && timerIsFinish())
                 gotoNext();
 
         }
     };
 
+    private boolean timerIsFinish() {
+        return timer == null || splash_skip.getVisibility() == View.INVISIBLE;
+    }
+
     private void gotoNext() {
         if (!isClick && btnJoin.isEnabled()) {
             isClick = true;
@@ -138,12 +142,19 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
     @Override
     public void initView() {
         activity = this;
+        GlideImageLoader.setImage(login_bg_img, "http://cdngame.kuaifazs.com/login_bg_img.png");
         ACache mCache = ACache.get(this);
         Object object = mCache.getAsObject(Advertising.class.getSimpleName());
-        if(object instanceof Advertising){
-            Glide.with(activity).load(((Advertising) object).getDisplay_src()).into(splash_bg);
+        if(object instanceof Advertising ){
+            advertising = (Advertising) object;
+            try {
+                loadAdvertising();
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        } else {
+            sendHandlerMessages();
         }
-        GlideImageLoader.setImage(login_bg_img, "http://cdngame.kuaifazs.com/login_bg_img.png");
     }
 
     @Override
@@ -156,7 +167,6 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
     public void initData() {
         if(SysAppUtil.isNewSmallSheep(false)){//新版本只显示引导页面,不展示弹窗和开屏广告
             isLoaddingData = false;
-            return;
         }
         SheepApp.getInstance().getNetComponent().getApiService().getAdvertising(1)
                 .subscribeOn(Schedulers.io())
@@ -164,32 +174,27 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
                 .subscribe(new SheepSubscriber<BaseMessage>(activity) {
                     @Override
                     public void onNext(BaseMessage baseMessage) {
-                        advertising = baseMessage.getData(Advertising.class);
+                        Advertising newAdvertising = baseMessage.getData(Advertising.class);
                         isLoaddingData = false;
-                        if(advertising == null || TextUtils.isEmpty(advertising.getDisplay_src())){
-                            sendHandlerMessages();
-                        } else {
-                            try {
-                                loadAdvertising();
-                            } catch (Exception e) {
-                                e.printStackTrace();
-                            }
+
+                        if(newAdvertising != null && newAdvertising.isImage()) {
+                            ACache mCache = ACache.get(activity);
+                            mCache.put(Advertising.class.getSimpleName(), newAdvertising);
                         }
                     }
 
                     @Override
                     public void onError(BaseMessage baseMessage) {
                         isLoaddingData = false;
-                        sendHandlerMessages();
                     }
                 });
     }
 
     private void loadAdvertising() {
         if(advertising.isImage()) {
-            ACache mCache = ACache.get(this);
-            mCache.put(Advertising.class.getSimpleName(), advertising);
-            Glide.with(activity).load(advertising.getDisplay_src()).into(splash_bg);
+            if(!TextUtils.equals("http://staticcdn.kuaifazs.com/upload/static/201807/16/e0/bf/bnjb9S.jpg",advertising.getDisplay_src())) {
+                Glide.with(activity).load(advertising.getDisplay_src()).into(splash_bg);
+            }
 //            btnJoin.setVisibility(View.GONE);
             splash_video_view.setVisibility(View.GONE);
         } else {
@@ -224,7 +229,7 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
                         @Override
                         public void onFinish() {
                             splash_skip.setEnabled(true);
-                            splash_skip.setVisibility(View.GONE);
+                            splash_skip.setVisibility(View.INVISIBLE);//设置为INVISIBLE代表定时器结束
 //                            btnJoin.setVisibility(View.VISIBLE);
                             if (isResume)
                                 sendHandlerMessages();

BIN
app/src/main/res/drawable-xxhdpi/splash_bg_img.webp


+ 2 - 2
app/src/main/res/values/common.xml

@@ -96,6 +96,6 @@
     <dimen name="find_game_top">68dp</dimen>
     <dimen name="find_game_top2">144dp</dimen>
     <dimen name="find_game_top3">172dp</dimen>
-    <dimen name="find_game_top4">222dp</dimen>
-    <dimen name="find_game_top5">220dp</dimen>
+    <dimen name="find_game_top4">230dp</dimen>
+    <dimen name="find_game_top5">228dp</dimen>
 </resources>