Browse Source

修复二维码慢,可能不能获取到的bug

zengjiebin 8 years ago
parent
commit
95c17a4e44

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/util/AppUtil.java

@@ -12,7 +12,7 @@ import android.view.WindowManager;
  * Created by ljy on 2018/3/8.
  */
 public class AppUtil {
-    public static final String BASE_QR = "http://qr.liantu.com/api.php?logo=http://cdngame.kuaifazs.com/icon.png&text=";
+    public static final String BASE_QR = "http://qr.liantu.com/api.php?text=";
 
     public static String getQRLink(String share_link) {
         return BASE_QR + share_link;

+ 3 - 26
app/src/main/java/com/sheep/gamegroup/view/activity/AskGetMoneyAct.java

@@ -33,6 +33,8 @@ import javax.inject.Inject;
 import butterknife.BindView;
 import butterknife.OnClick;
 
+import static com.sheep.gamegroup.view.activity.PersionInfoAct.showQR;
+
 /**
  * Created by Administrator on 2018/3/19.
  */
@@ -108,31 +110,6 @@ public class AskGetMoneyAct extends BaseUMActivity implements UMShareListener, A
     }
 
 
-    private void shareToQR() {
-
-        AlertDialog.Builder builder = new AlertDialog.Builder(this);
-        View view = View.inflate(this, R.layout.x_ask_qr_dialog, null);
-        builder.setView(view);
-        final AlertDialog dialog = builder.create();
-//        dialog.getWindow().setDimAmount(0.1f);
-//        dialog.getWindow().setBackgroundDrawable(new ColorDrawable(0));
-        ImageView iv=view.findViewById(R.id.iv_close);
-        ImageView iv_qr=view.findViewById(R.id.iv_qr);
-        Glide.with(this)
-                .load(AppUtil.getQRLink(mEntity.getShare_link(), 800))
-                .into(iv_qr);
-         dialog.show();
-        iv.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                dialog.dismiss();
-            }
-        });
-
-
-    }
-
-
     private void shareToLink() {
         AlertDialog.Builder builder = new AlertDialog.Builder(this);
         View view = View.inflate(this, R.layout.x_ask_reward_dialog, null);
@@ -219,7 +196,7 @@ public class AskGetMoneyAct extends BaseUMActivity implements UMShareListener, A
                 shareToQQ();
                 break;
             case R.id.rl_qr:
-                shareToQR();
+                showQR(AskGetMoneyAct.this, mEntity.getShare_link());
                 break;
             case R.id.rl_link:
                 shareToLink();

+ 32 - 10
app/src/main/java/com/sheep/gamegroup/view/activity/PersionInfoAct.java

@@ -1,11 +1,15 @@
 package com.sheep.gamegroup.view.activity;
 
+import android.app.Activity;
 import android.app.AlertDialog;
 import android.content.Intent;
 import android.graphics.Bitmap;
 import android.os.Bundle;
+import android.view.Display;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.Window;
+import android.view.WindowManager;
 import android.widget.ImageView;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
@@ -47,6 +51,8 @@ public class PersionInfoAct extends AbsChooseImageActivity {
     TextView tvSheepId;
     @BindView(R.id.tv_qr)
     ImageView tvQr;
+    @BindView(R.id.tv_qr_small)
+    ImageView tv_qr_small;
     @BindView(R.id.rl_qr)
     RelativeLayout rlQr;
 
@@ -89,10 +95,14 @@ public class PersionInfoAct extends AbsChooseImageActivity {
                 Glide.with(PersionInfoAct.this)
                         .load(AppUtil.getQRLink(mEntity.getShare_link(), 90))
                         .into(tvQr);
-                Glide.with(this)
-                        .load(AppUtil.getQRLink(mEntity.getShare_link(), 800))
-                        .apply(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.RESOURCE))
-                        .preload();
+                Glide.with(PersionInfoAct.this)
+                        .load("http://cdngame.kuaifazs.com/icon.png")
+                        .apply(new RequestOptions().override(23))
+                        .into(tv_qr_small);
+//                Glide.with(this)
+//                        .load(AppUtil.getQRLink(mEntity.getShare_link(), 800))
+//                        .apply(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.RESOURCE))
+//                        .preload();
 
                 Glide.with(PersionInfoAct.this)
                         .load(mEntity.getAvatar())
@@ -116,17 +126,29 @@ public class PersionInfoAct extends AbsChooseImageActivity {
     }
 
 
-    private void showQR() {
-        AlertDialog.Builder builder = new AlertDialog.Builder(this);
-        View view = View.inflate(this, R.layout.x_ask_qr_dialog, null);
+    public static void showQR(Activity activity, String link) {
+        AlertDialog.Builder builder = new AlertDialog.Builder(activity);
+        View view = View.inflate(activity, R.layout.x_ask_qr_dialog, null);
         builder.setView(view);
         final AlertDialog dialog = builder.create();
         ImageView iv = view.findViewById(R.id.iv_close);
         ImageView iv_qr = view.findViewById(R.id.iv_qr);
-        Glide.with(PersionInfoAct.this)
-                .load(AppUtil.getQRLink(mEntity.getShare_link(), 800))
+        ImageView iv_qr_small = view.findViewById(R.id.iv_qr_small);
+        Glide.with(activity)
+                .load(AppUtil.getQRLink(link, 800))
                 .into(iv_qr);
+        Glide.with(activity)
+                .load("http://cdngame.kuaifazs.com/icon.png")
+                .apply(new RequestOptions().override(G.WIDTH/5))
+                .into(iv_qr_small);
         dialog.show();
+        Window window = dialog.getWindow();
+        if(window != null) {
+            android.view.WindowManager.LayoutParams p = window.getAttributes();
+            p.height = G.WIDTH;
+            p.width = G.WIDTH;
+            dialog.getWindow().setAttributes(p);     //设置生效
+        }
         iv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -175,7 +197,7 @@ public class PersionInfoAct extends AbsChooseImageActivity {
                 startActivity(i);
                 break;
             case R.id.rl_qr:
-                showQR();
+                showQR(PersionInfoAct.this, mEntity.getShare_link());
                 break;
             case R.id.rl_head:
                 showChooseDialog();

+ 15 - 4
app/src/main/res/layout/x_ask_qr_dialog.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
+    android:layout_height="wrap_content"
     android:background="#ffffff"
     android:orientation="vertical">
 
@@ -13,14 +13,25 @@
         android:layout_gravity="right"
         />
 
+    <RelativeLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_margin="20dp"
+        android:layout_gravity="center">
      <ImageView
          android:id="@+id/iv_qr"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
-         android:layout_margin="20dp"
-         android:layout_gravity="center"
+         android:layout_centerInParent="true"
+         android:src="@drawable/loading"
+         />
+     <ImageView
+         android:id="@+id/iv_qr_small"
+         android:layout_width="wrap_content"
+         android:layout_height="wrap_content"
+         android:layout_centerInParent="true"
          />
 
-
+    </RelativeLayout>
 
 </LinearLayout>

+ 15 - 3
app/src/main/res/layout/xpersion_info_act_layout.xml

@@ -188,17 +188,29 @@
                 android:id="@+id/tv_more3"
                 />
 
+            <RelativeLayout
+                android:layout_width="30dp"
+                android:layout_height="30dp"
+                android:layout_toLeftOf="@id/tv_more3"
+                android:layout_centerVertical="true">
             <ImageView
                 android:id="@+id/tv_qr"
                 android:layout_width="30dp"
                 android:layout_height="30dp"
                 android:background="@null"
                 android:src="@mipmap/ic_launcher"
-                android:layout_toLeftOf="@id/tv_more3"
-                android:layout_centerVertical="true"
-
+                android:layout_centerInParent="true"
+                />
+            <ImageView
+                android:id="@+id/tv_qr_small"
+                android:layout_width="5dp"
+                android:layout_height="5dp"
+                android:background="@null"
+                android:src="@mipmap/ic_launcher"
+                android:layout_centerInParent="true"
                 />
 
         </RelativeLayout>
+        </RelativeLayout>
     </LinearLayout>
 </LinearLayout>