Forráskód Böngészése

添加引导页面

zengjiebin 8 éve
szülő
commit
15152c81df

+ 2 - 0
app/src/main/AndroidManifest.xml

@@ -480,6 +480,8 @@
 
         <activity android:name="com.sheep.gamegroup.view.activity.ActNotice"
             android:screenOrientation="portrait"/>
+        <activity android:name="com.sheep.gamegroup.view.activity.ActGuide"
+            android:screenOrientation="portrait"/>
     </application>
 
 

+ 0 - 4
app/src/main/java/com/kfzs/duanduan/fragment/FgtPersonalCenter.java

@@ -2,7 +2,6 @@ package com.kfzs.duanduan.fragment;
 
 import android.os.Bundle;
 import android.text.TextUtils;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -27,14 +26,11 @@ import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.MyDbManager;
 import com.sheep.gamegroup.util.ViewUtil;
-import com.sheep.gamegroup.view.activity.PersonalCenterAct;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
-import org.xutils.ex.DbException;
-
 import butterknife.BindView;
 import butterknife.ButterKnife;
 import butterknife.OnClick;

+ 29 - 0
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -17,6 +17,7 @@ import com.alibaba.fastjson.JSON;
 import com.kfzs.duanduan.ActMain;
 import com.kfzs.duanduan.ActPicturesEnlarge;
 import com.kfzs.duanduan.bean.KFIntentKeys;
+import com.kfzs.duanduan.utils.ApkUtils;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.model.entity.Agreement;
 import com.sheep.gamegroup.model.entity.BaseMessage;
@@ -32,6 +33,7 @@ import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.view.activity.AccountAndSecurityAct;
 import com.sheep.gamegroup.view.activity.ActCreditCardTaskList;
 import com.sheep.gamegroup.view.activity.ActCreditCardWeb;
+import com.sheep.gamegroup.view.activity.ActGuide;
 import com.sheep.gamegroup.view.activity.ActGuideDeblocked;
 import com.sheep.gamegroup.view.activity.ActGuideOnHook;
 import com.sheep.gamegroup.view.activity.ActMainGame;
@@ -1001,4 +1003,31 @@ public class Jump2View {
         ActivityManager.getInstance().finishAllActivity();
         Jump2View.getInstance().goLoginView(SheepApp.mContext, "");
     }
+
+    public void gotoGuide(Activity activity) {
+        int version_code = PreferenceUtils.getPrefInt(SheepApp.getInstance(), "version_code", 0);
+        int cur_version_code = ApkUtils.getCurrentPkgVersionCode(SheepApp.getInstance());
+        PreferenceUtils.setPrefInt(SheepApp.getInstance(), "version_code", cur_version_code);
+        if(
+                BuildConfig.DEBUG ||
+                version_code != cur_version_code){
+            Intent intent = new Intent(activity, ActGuide.class);
+            activity.startActivity(intent);
+            activity.finish();
+        } else {
+            gotoMain(activity);
+        }
+    }
+    public void gotoMain(Activity activity) {
+        String openId = SpUtils.getOpenId(SheepApp.getInstance());
+        if (!TextUtils.isEmpty(openId)) {
+            Intent intent = new Intent(activity, com.kfzs.duanduan.ActMain.class);
+            activity.startActivity(intent);
+            activity.finish();
+        } else {
+            Intent intent = new Intent(activity, LoginAct.class);
+            activity.startActivity(intent);
+            activity.finish();
+        }
+    }
 }

+ 102 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActGuide.java

@@ -0,0 +1,102 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.support.annotation.NonNull;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentPagerAdapter;
+import android.support.v4.view.PagerAdapter;
+import android.support.v4.view.ViewPager;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
+import com.kfzs.duanduan.adp.ViewPagerFragmentAdapter;
+import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.util.AppUtil;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.view.adapter.ArrayPagerAdapter;
+import com.sheep.gamegroup.view.fragment.FgtImage;
+import com.sheep.jiuyan.samllsheep.R;
+
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+/**
+ * Created by realicing on 2018/6/1.
+ * realicing@sina.com
+ */
+public class ActGuide extends BaseActivity {
+    private int[] ids = {R.mipmap.guide_1, R.mipmap.guide_2, R.mipmap.guide_3};
+    private List<View> viewList = ListUtil.emptyList();
+    @Override
+    protected int getLayoutId() {
+        return R.layout.act_guide;
+    }
+
+    @Override
+    public void initView() {
+        List<Fragment> fragmentList = ListUtil.emptyList();
+        for (int i = 0; i < ids.length; i++) {
+            fragmentList.add(FgtImage.newInstance(ids[i]));
+            View view = View.inflate(this, R.layout.dian, null);
+            int radius = getResources().getDimensionPixelSize(R.dimen.content_padding_10);
+            LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(radius,radius);
+            if(i != 0)
+                layoutParams.leftMargin =  radius;
+            guide_tab.addView(view, layoutParams);
+            viewList.add(view);
+            viewList.get(i).setEnabled(i == 0);
+        }
+        ViewPagerFragmentAdapter adapter = new ViewPagerFragmentAdapter(getSupportFragmentManager(), fragmentList);
+        guide_vp.setAdapter(adapter);
+        guide_vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
+            @Override
+            public void onPageScrolled(int i, float v, int i1) {
+
+            }
+
+            @Override
+            public void onPageSelected(int index) {
+                for (int i = 0; i < viewList.size(); i++) {
+                    viewList.get(i).setEnabled(i == index);
+                }
+            }
+
+            @Override
+            public void onPageScrollStateChanged(int i) {
+
+            }
+        });
+    }
+
+    @Override
+    public void initListener() {
+
+    }
+
+    @Override
+    public void initData() {
+
+    }
+
+    @BindView(R.id.guide_vp)
+    ViewPager guide_vp;
+    @BindView(R.id.guide_skip)
+    TextView guide_skip;
+    @BindView(R.id.guide_tab)
+    LinearLayout guide_tab;
+
+    @OnClick({R.id.guide_skip})
+    public void onViewClicked(View view) {
+        switch (view.getId()) {
+            case R.id.guide_skip:
+                Jump2View.getInstance().gotoMain(this);
+                break;
+        }
+    }
+}

+ 6 - 16
app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java

@@ -17,9 +17,13 @@ import android.text.TextUtils;
 import android.view.View;
 import android.widget.TextView;
 
+import com.kfzs.duanduan.utils.ApkUtils;
 import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.PreferenceUtils;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 
 import java.util.List;
@@ -88,7 +92,7 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
             super.handleMessage(msg);
             if(!isClick){
                 isClick = true;
-                goMain();
+                Jump2View.getInstance().gotoGuide(activity);
             }
 
         }
@@ -161,20 +165,6 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
         startActivity(intent);
     }
 
-    private synchronized void goMain() {
-        String openId = SpUtils.getOpenId(getApplicationContext());
-        if (!TextUtils.isEmpty(openId)) {
-            Intent intent = new Intent(activity, com.kfzs.duanduan.ActMain.class);
-            startActivity(intent);
-            finish();
-        } else {
-            Intent intent = new Intent(activity, LoginAct.class);
-            startActivity(intent);
-            finish();
-        }
-
-    }
-
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
@@ -186,7 +176,7 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
             case R.id.btn_join:
                 if(!isClick){
                     isClick = true;
-                    goMain();
+                    Jump2View.getInstance().gotoGuide(activity);
                 }
                 break;
         }

+ 38 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/ArrayPagerAdapter.java

@@ -0,0 +1,38 @@
+package com.sheep.gamegroup.view.adapter;
+
+import android.support.v4.view.PagerAdapter;
+import android.view.View;
+import android.view.ViewGroup;
+
+import java.util.List;
+
+/**
+ * Created by realicing on 2018/6/1.
+ * realicing@sina.com
+ */
+public class ArrayPagerAdapter extends PagerAdapter {
+    private List<View> viewList;
+    public ArrayPagerAdapter(List<View> viewList){
+        this.viewList = viewList;
+    }
+    @Override
+    public int getCount() {
+        return viewList.size();
+    }
+
+    @Override
+    public boolean isViewFromObject(View view, Object object) {
+        return view.equals(object);
+    }
+
+    @Override
+    public void destroyItem(ViewGroup container, int position, Object object) {
+        container.removeView(viewList.get(position));
+    }
+
+    @Override
+    public Object instantiateItem(ViewGroup container, int position) {
+        container.addView(viewList.get(position));
+        return viewList.get(position);
+    }
+}

+ 39 - 0
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtImage.java

@@ -0,0 +1,39 @@
+package com.sheep.gamegroup.view.fragment;
+
+import android.os.Bundle;
+import android.widget.ImageView;
+
+import com.bumptech.glide.Glide;
+import com.kfzs.duanduan.BaseCompatFragment;
+import com.sheep.jiuyan.samllsheep.R;
+
+/**
+ * 图片
+ * Created by realicing on 2018/6/1.
+ */
+
+public class FgtImage extends BaseCompatFragment{
+
+    public static FgtImage newInstance(int id){
+        FgtImage fgt = new FgtImage();
+        Bundle bundle = new Bundle();
+        bundle.putInt("id", id);
+        fgt.setArguments(bundle);
+        return fgt;
+    }
+
+    @Override
+    protected void initView(Bundle savedInstanceState) {
+        setContentView(R.layout.item_iv);
+        ImageView item_iv = mContentView.findViewById(R.id.item_iv);
+        Bundle bundle = getArguments();
+        if(bundle != null){
+            int id = bundle.getInt("id", 0);
+            if(id != 0) {
+                Glide.with(this)
+                        .load(id)
+                        .into(item_iv);
+            }
+        }
+    }
+}

+ 7 - 0
app/src/main/res/drawable/drawable_selector_dian.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:drawable="@drawable/shape_circle_white_solid" android:state_enabled="true"/>
+    <item android:drawable="@drawable/shape_circle_white_stroke"/>
+
+</selector>

+ 6 - 0
app/src/main/res/drawable/shape_ash_solid_rectangle.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="10dp" />
+    <solid android:color="#E5E5E5" />
+</shape>

+ 6 - 0
app/src/main/res/drawable/shape_circle_white_solid.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+       android:shape="oval">
+    <solid
+        android:color="@android:color/white"/>
+</shape>

+ 7 - 0
app/src/main/res/drawable/shape_circle_white_stroke.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+       android:shape="oval">
+    <stroke
+        android:width="2dp"
+        android:color="@android:color/white"/>
+</shape>

+ 35 - 0
app/src/main/res/layout/act_guide.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <android.support.v4.view.ViewPager
+        android:id="@+id/guide_vp"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"/>
+
+    <TextView
+        android:id="@+id/guide_skip"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentEnd="true"
+        android:layout_alignParentTop="true"
+        android:paddingTop="2dp"
+        android:paddingBottom="2dp"
+        android:paddingStart="@dimen/content_padding_15"
+        android:paddingEnd="@dimen/content_padding_15"
+        android:layout_margin="@dimen/content_padding_20"
+        android:textColor="#918F8F"
+        android:textSize="14sp"
+        android:background="@drawable/shape_ash_solid_rectangle"
+        android:text="跳过" />
+
+    <LinearLayout
+        android:id="@+id/guide_tab"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentBottom="true"
+        android:layout_centerHorizontal="true"
+        android:layout_marginBottom="50dp"
+        android:orientation="horizontal"/>
+</RelativeLayout>

+ 7 - 0
app/src/main/res/layout/dian.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<View xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="5dp"
+    android:layout_height="5dp"
+    android:background="@drawable/drawable_selector_dian">
+
+</View>

+ 7 - 0
app/src/main/res/layout/item_iv.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/item_iv"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:adjustViewBounds="true"
+    android:scaleType="fitXY" />

BIN
app/src/main/res/mipmap-xxhdpi/guide_1.webp


BIN
app/src/main/res/mipmap-xxhdpi/guide_2.webp


BIN
app/src/main/res/mipmap-xxhdpi/guide_3.webp