kongzue 4 лет назад
Родитель
Сommit
d1cdf6b807
27 измененных файлов с 175 добавлено и 57 удалено
  1. 2 0
      DialogX/src/main/java/com/kongzue/dialogx/dialogs/BottomDialog.java
  2. 3 2
      DialogX/src/main/java/com/kongzue/dialogx/dialogs/BottomMenu.java
  3. 1 1
      DialogX/src/main/java/com/kongzue/dialogx/dialogs/MessageDialog.java
  4. 5 1
      DialogX/src/main/java/com/kongzue/dialogx/impl/ActivityLifecycleImpl.java
  5. 6 0
      DialogX/src/main/java/com/kongzue/dialogx/interfaces/BaseDialog.java
  6. 1 1
      DialogX/src/main/java/com/kongzue/dialogx/style/MaterialStyle.java
  7. 3 1
      DialogX/src/main/java/com/kongzue/dialogx/util/views/ProgressView.java
  8. 5 0
      DialogX/src/main/res/layout/layout_dialogx_bottom_material.xml
  9. 5 0
      DialogX/src/main/res/layout/layout_dialogx_bottom_material_dark.xml
  10. 1 2
      DialogX/src/main/res/layout/layout_dialogx_material.xml
  11. 1 2
      DialogX/src/main/res/layout/layout_dialogx_material_dark.xml
  12. 7 2
      DialogXIOSStyle/src/main/res/layout/layout_dialogx_bottom_ios.xml
  13. 7 2
      DialogXIOSStyle/src/main/res/layout/layout_dialogx_bottom_ios_dark.xml
  14. 4 4
      DialogXIOSStyle/src/main/res/layout/layout_dialogx_ios.xml
  15. 4 4
      DialogXIOSStyle/src/main/res/layout/layout_dialogx_ios_dark.xml
  16. 8 3
      DialogXKongzueStyle/src/main/res/layout/layout_dialogx_bottom_kongzue.xml
  17. 7 2
      DialogXKongzueStyle/src/main/res/layout/layout_dialogx_bottom_kongzue_dark.xml
  18. 4 4
      DialogXKongzueStyle/src/main/res/layout/layout_dialogx_kongzue.xml
  19. 4 4
      DialogXKongzueStyle/src/main/res/layout/layout_dialogx_kongzue_dark.xml
  20. 6 1
      DialogXMIUIStyle/src/main/res/layout/layout_dialogx_bottom_miui.xml
  21. 6 1
      DialogXMIUIStyle/src/main/res/layout/layout_dialogx_bottom_miui_dark.xml
  22. 1 2
      DialogXMIUIStyle/src/main/res/layout/layout_dialogx_miui.xml
  23. 1 2
      DialogXMIUIStyle/src/main/res/layout/layout_dialogx_miui_dark.xml
  24. 81 2
      app/src/main/java/com/kongzue/dialogxdemo/MainActivity.java
  25. 0 13
      app/src/main/res/layout/activity_main.xml
  26. 2 1
      app/src/main/res/layout/layout_custom_view.xml
  27. BIN
      app/src/main/res/mipmap-xxhdpi/ico_wechat.png

+ 2 - 0
DialogX/src/main/java/com/kongzue/dialogx/dialogs/BottomDialog.java

@@ -144,6 +144,7 @@ public class BottomDialog extends BaseDialog {
         public LinearLayout boxContent;
         public TextView txtDialogTip;
         public View imgSplit;
+        public RelativeLayout boxList;
         public RelativeLayout boxCustom;
         public BlurView blurView;
         public ViewGroup boxCancel;
@@ -160,6 +161,7 @@ public class BottomDialog extends BaseDialog {
             boxContent = convertView.findViewById(R.id.box_content);
             txtDialogTip = convertView.findViewById(R.id.txt_dialog_tip);
             imgSplit = convertView.findViewWithTag("split");
+            boxList = convertView.findViewById(R.id.box_list);
             boxCustom = convertView.findViewById(R.id.box_custom);
             blurView = convertView.findViewById(R.id.blurView);
             boxCancel = convertView.findViewWithTag("cancelBox");

+ 3 - 2
DialogX/src/main/java/com/kongzue/dialogx/dialogs/BottomMenu.java

@@ -124,13 +124,14 @@ public class BottomMenu extends BottomDialog {
                 }
             });
             if (style.overrideBottomDialogRes() != null) {
-                if (style.overrideBottomDialogRes().overrideMenuItemLayout(true, 0, 1,false) != 0) {
+                if (style.overrideBottomDialogRes().overrideMenuItemLayout(true, 0, 0,false) != 0) {
+                    log("@@@"+style.overrideBottomDialogRes().overrideMenuItemLayout(true, 0, 0,false) );
                     listView.setSelector(R.color.empty);
                 }
             }
             
             RelativeLayout.LayoutParams listViewLp = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
-            dialog.boxCustom.addView(listView, listViewLp);
+            dialog.boxList.addView(listView, listViewLp);
             
             refreshUI();
         }

+ 1 - 1
DialogX/src/main/java/com/kongzue/dialogx/dialogs/MessageDialog.java

@@ -310,7 +310,7 @@ public class MessageDialog extends BaseDialog {
             showText(btnSelectPositive, okText);
             showText(btnSelectNegative, cancelText);
             showText(btnSelectOther, otherText);
-            showText(txtInput, inputText);
+            txtInput.setText(inputText);
             if (spaceOtherButton != null) {
                 if (otherText == null) {
                     spaceOtherButton.setVisibility(View.GONE);

+ 5 - 1
DialogX/src/main/java/com/kongzue/dialogx/impl/ActivityLifecycleImpl.java

@@ -8,6 +8,8 @@ import android.os.Bundle;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
+import com.kongzue.dialogx.interfaces.BaseDialog;
+
 import java.lang.ref.WeakReference;
 
 /**
@@ -68,7 +70,9 @@ public class ActivityLifecycleImpl implements Application.ActivityLifecycleCallb
     
     @Override
     public void onActivityDestroyed(@NonNull Activity activity) {
-    
+        if (BaseDialog.getContext()==activity){
+            BaseDialog.cleanContext();
+        }
     }
     
     public interface onActivityResumeCallBack {

+ 6 - 0
DialogX/src/main/java/com/kongzue/dialogx/interfaces/BaseDialog.java

@@ -72,6 +72,12 @@ public class BaseDialog {
         return contextWeakReference.get();
     }
     
+    public static void cleanContext() {
+        contextWeakReference.clear();
+        contextWeakReference = null;
+        System.gc();
+    }
+    
     protected boolean cancelable = true;
     protected OnBackPressedListener onBackPressedListener;
     protected boolean isShow;

+ 1 - 1
DialogX/src/main/java/com/kongzue/dialogx/style/MaterialStyle.java

@@ -157,7 +157,7 @@ public class MaterialStyle implements DialogXStyle {
     
             @Override
             public int overrideMenuItemLayout(boolean light, int index, int count, boolean isContentVisibility) {
-                return R.layout.item_dialogx_material_bottom_menu_normal_text;
+                return 0;
             }
     
         };

+ 3 - 1
DialogX/src/main/java/com/kongzue/dialogx/util/views/ProgressView.java

@@ -383,7 +383,9 @@ public class ProgressView extends View {
     
     public void progress(float progress) {
         if (rotateAnimator != null) rotateAnimator.cancel();
-        
+        if (status != STATUS_PROGRESSING) {
+            currentRotateDegrees = 0;
+        }
         rotateAnimator = ValueAnimator.ofFloat(currentRotateDegrees, 365 * progress);
         rotateAnimator.setDuration(1000);
         rotateAnimator.setInterpolator(new DecelerateInterpolator(2));

+ 5 - 0
DialogX/src/main/res/layout/layout_dialogx_bottom_material.xml

@@ -76,6 +76,11 @@
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"/>
 
+                        <RelativeLayout
+                            android:id="@+id/box_list"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"/>
+
                     </LinearLayout>
 
                 </ScrollView>

+ 5 - 0
DialogX/src/main/res/layout/layout_dialogx_bottom_material_dark.xml

@@ -76,6 +76,11 @@
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"/>
 
+                        <RelativeLayout
+                            android:id="@+id/box_list"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"/>
+
                     </LinearLayout>
 
                 </ScrollView>

+ 1 - 2
DialogX/src/main/res/layout/layout_dialogx_material.xml

@@ -62,8 +62,7 @@
                             android:id="@+id/box_custom"
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:layout_marginTop="10dp"
-                            android:visibility="gone"></RelativeLayout>
+                            android:visibility="gone"/>
 
                         <EditText
                             android:id="@+id/txt_input"

+ 1 - 2
DialogX/src/main/res/layout/layout_dialogx_material_dark.xml

@@ -62,8 +62,7 @@
                             android:id="@+id/box_custom"
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:layout_marginTop="10dp"
-                            android:visibility="gone"></RelativeLayout>
+                            android:visibility="gone"/>
 
                         <EditText
                             android:id="@+id/txt_input"

+ 7 - 2
DialogXIOSStyle/src/main/res/layout/layout_dialogx_bottom_ios.xml

@@ -79,6 +79,11 @@
                                     android:textColor="@color/dialogxIOSTipTextLight"
                                     android:textSize="12dp" />
 
+                                <RelativeLayout
+                                    android:id="@+id/box_custom"
+                                    android:layout_width="match_parent"
+                                    android:layout_height="wrap_content"/>
+
                                 <ImageView
                                     android:layout_width="match_parent"
                                     android:layout_height="1px"
@@ -86,9 +91,9 @@
                                     android:visibility="gone" />
 
                                 <RelativeLayout
-                                    android:id="@+id/box_custom"
+                                    android:id="@+id/box_list"
                                     android:layout_width="match_parent"
-                                    android:layout_height="wrap_content" />
+                                    android:layout_height="wrap_content"/>
 
                             </LinearLayout>
 

+ 7 - 2
DialogXIOSStyle/src/main/res/layout/layout_dialogx_bottom_ios_dark.xml

@@ -79,6 +79,11 @@
                                     android:textColor="@color/dialogxIOSTipTextDark"
                                     android:textSize="12dp" />
 
+                                <RelativeLayout
+                                    android:id="@+id/box_custom"
+                                    android:layout_width="match_parent"
+                                    android:layout_height="wrap_content"/>
+
                                 <ImageView
                                     android:layout_width="match_parent"
                                     android:layout_height="1px"
@@ -86,9 +91,9 @@
                                     android:visibility="gone" />
 
                                 <RelativeLayout
-                                    android:id="@+id/box_custom"
+                                    android:id="@+id/box_list"
                                     android:layout_width="match_parent"
-                                    android:layout_height="wrap_content" />
+                                    android:layout_height="wrap_content"/>
 
                             </LinearLayout>
 

+ 4 - 4
DialogXIOSStyle/src/main/res/layout/layout_dialogx_ios.xml

@@ -54,10 +54,11 @@
 
                         <TextView
                             android:id="@+id/txt_dialog_tip"
-                            android:layout_width="match_parent"
+                            android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
+                            android:layout_gravity="center_horizontal"
+                            android:gravity="left"
                             android:layout_marginHorizontal="15dp"
-                            android:gravity="center"
                             android:text="This is content text."
                             android:textColor="@color/black"
                             android:textSize="13dp" />
@@ -66,8 +67,7 @@
                             android:id="@+id/box_custom"
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:layout_marginTop="10dp"
-                            android:visibility="gone"></RelativeLayout>
+                            android:visibility="gone"/>
 
                         <EditText
                             android:id="@+id/txt_input"

+ 4 - 4
DialogXIOSStyle/src/main/res/layout/layout_dialogx_ios_dark.xml

@@ -54,10 +54,11 @@
 
                         <TextView
                             android:id="@+id/txt_dialog_tip"
-                            android:layout_width="match_parent"
+                            android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
+                            android:layout_gravity="center_horizontal"
+                            android:gravity="left"
                             android:layout_marginHorizontal="15dp"
-                            android:gravity="center"
                             android:text="This is content text."
                             android:textColor="@color/white"
                             android:textSize="13dp" />
@@ -66,8 +67,7 @@
                             android:id="@+id/box_custom"
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:layout_marginTop="10dp"
-                            android:visibility="gone"></RelativeLayout>
+                            android:visibility="gone"/>
 
                         <EditText
                             android:id="@+id/txt_input"

+ 8 - 3
DialogXKongzueStyle/src/main/res/layout/layout_dialogx_bottom_kongzue.xml

@@ -58,13 +58,18 @@
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:layout_gravity="center_horizontal"
-                            android:layout_marginHorizontal="20dp"
                             android:gravity="left"
+                            android:layout_marginHorizontal="20dp"
                             android:paddingBottom="5dp"
                             android:text="This is content text."
                             android:textColor="@color/black70"
                             android:textSize="16dp" />
 
+                        <RelativeLayout
+                            android:id="@+id/box_custom"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"/>
+
                         <ImageView
                             android:layout_width="match_parent"
                             android:layout_height="1px"
@@ -72,9 +77,9 @@
                             android:tag="split" />
 
                         <RelativeLayout
-                            android:id="@+id/box_custom"
+                            android:id="@+id/box_list"
                             android:layout_width="match_parent"
-                            android:layout_height="wrap_content" />
+                            android:layout_height="wrap_content"/>
 
                     </LinearLayout>
 

+ 7 - 2
DialogXKongzueStyle/src/main/res/layout/layout_dialogx_bottom_kongzue_dark.xml

@@ -65,6 +65,11 @@
                             android:textColor="@color/white60"
                             android:textSize="16dp" />
 
+                        <RelativeLayout
+                            android:id="@+id/box_custom"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"/>
+
                         <ImageView
                             android:layout_width="match_parent"
                             android:layout_height="1px"
@@ -72,9 +77,9 @@
                             android:tag="split" />
 
                         <RelativeLayout
-                            android:id="@+id/box_custom"
+                            android:id="@+id/box_list"
                             android:layout_width="match_parent"
-                            android:layout_height="wrap_content" />
+                            android:layout_height="wrap_content"/>
 
                     </LinearLayout>
 

+ 4 - 4
DialogXKongzueStyle/src/main/res/layout/layout_dialogx_kongzue.xml

@@ -50,9 +50,10 @@
 
                         <TextView
                             android:id="@+id/txt_dialog_tip"
-                            android:layout_width="match_parent"
+                            android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:gravity="center"
+                            android:layout_gravity="center_horizontal"
+                            android:gravity="left"
                             android:paddingTop="5dp"
                             android:paddingBottom="10dp"
                             android:layout_marginHorizontal="20dp"
@@ -64,8 +65,7 @@
                             android:id="@+id/box_custom"
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:layout_marginTop="10dp"
-                            android:visibility="gone"></RelativeLayout>
+                            android:visibility="gone"/>
 
                         <EditText
                             android:id="@+id/txt_input"

+ 4 - 4
DialogXKongzueStyle/src/main/res/layout/layout_dialogx_kongzue_dark.xml

@@ -50,10 +50,11 @@
 
                         <TextView
                             android:id="@+id/txt_dialog_tip"
-                            android:layout_width="match_parent"
+                            android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
+                            android:layout_gravity="center_horizontal"
+                            android:gravity="left"
                             android:layout_marginHorizontal="20dp"
-                            android:gravity="center"
                             android:paddingTop="5dp"
                             android:paddingBottom="10dp"
                             android:text="This is content text."
@@ -64,8 +65,7 @@
                             android:id="@+id/box_custom"
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:layout_marginTop="10dp"
-                            android:visibility="gone"></RelativeLayout>
+                            android:visibility="gone"/>
 
                         <EditText
                             android:id="@+id/txt_input"

+ 6 - 1
DialogXMIUIStyle/src/main/res/layout/layout_dialogx_bottom_miui.xml

@@ -69,7 +69,12 @@
                         <RelativeLayout
                             android:id="@+id/box_custom"
                             android:layout_width="match_parent"
-                            android:layout_height="wrap_content" />
+                            android:layout_height="wrap_content"/>
+
+                        <RelativeLayout
+                            android:id="@+id/box_list"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"/>
 
                     </LinearLayout>
 

+ 6 - 1
DialogXMIUIStyle/src/main/res/layout/layout_dialogx_bottom_miui_dark.xml

@@ -69,7 +69,12 @@
                         <RelativeLayout
                             android:id="@+id/box_custom"
                             android:layout_width="match_parent"
-                            android:layout_height="wrap_content" />
+                            android:layout_height="wrap_content"/>
+
+                        <RelativeLayout
+                            android:id="@+id/box_list"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"/>
 
                     </LinearLayout>
 

+ 1 - 2
DialogXMIUIStyle/src/main/res/layout/layout_dialogx_miui.xml

@@ -66,8 +66,7 @@
                             android:id="@+id/box_custom"
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:layout_marginTop="10dp"
-                            android:visibility="gone"></RelativeLayout>
+                            android:visibility="gone"/>
 
                         <EditText
                             android:id="@+id/txt_input"

+ 1 - 2
DialogXMIUIStyle/src/main/res/layout/layout_dialogx_miui_dark.xml

@@ -66,8 +66,7 @@
                             android:id="@+id/box_custom"
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            android:layout_marginTop="10dp"
-                            android:visibility="gone"></RelativeLayout>
+                            android:visibility="gone"/>
 
                         <EditText
                             android:id="@+id/txt_input"

+ 81 - 2
app/src/main/java/com/kongzue/dialogxdemo/MainActivity.java

@@ -75,7 +75,6 @@ public class MainActivity extends BaseActivity {
     private TextView btnCustomMessageDialog;
     private TextView btnCustomInputDialog;
     private TextView btnCustomBottomMenu;
-    private TextView btnCustomNotification;
     private TextView btnCustomDialog;
     private TextView btnFullScreenDialogWebPage;
     private TextView btnFullScreenDialogLogin;
@@ -111,7 +110,6 @@ public class MainActivity extends BaseActivity {
         btnCustomMessageDialog = findViewById(R.id.btn_customMessageDialog);
         btnCustomInputDialog = findViewById(R.id.btn_customInputDialog);
         btnCustomBottomMenu = findViewById(R.id.btn_customBottomMenu);
-        btnCustomNotification = findViewById(R.id.btn_customNotification);
         btnCustomDialog = findViewById(R.id.btn_customDialog);
         btnFullScreenDialogWebPage = findViewById(R.id.btn_fullScreenDialog_webPage);
         btnFullScreenDialogLogin = findViewById(R.id.btn_fullScreenDialog_login);
@@ -121,6 +119,33 @@ public class MainActivity extends BaseActivity {
     @Override
     public void initDatas(JumpParameter parameter) {
         DialogX.globalStyle = IOSStyle.style();
+        
+        boolean showBreak = parameter.getBoolean("showBreak");
+        if (showBreak){
+            MessageDialog.show("提示","接下来会直接运行一个 WaitDialog,2 秒后直接关闭 Activity,并回到原 Activity,保证程序不会出现 WindowLeaked 错误。\n\n" +
+                    "Android 原生 AlertDialog 常出现因 Dialog 先于 Activity 关闭而导致此错误引发程序崩溃。\n\n" +
+                    "而使用 DialogX 构建的对话框不仅仅不会出现此问题,还可避免因句柄持续持有导致的内存泄漏。","开始测试","取消")
+                    .setOkButton(new OnDialogButtonClickListener() {
+                        @Override
+                        public boolean onClick(BaseDialog baseDialog, View v) {
+                            WaitDialog.show("请稍后...");
+                            runDelayed(new Runnable() {
+                                @Override
+                                public void run() {
+                                    finish();
+                                }
+                            },2000);
+                            return false;
+                        }
+                    })
+                    .setCancelButton(new OnDialogButtonClickListener() {
+                        @Override
+                        public boolean onClick(BaseDialog baseDialog, View v) {
+                            finish();
+                            return false;
+                        }
+                    });
+        }
     }
     
     //用于模拟进度提示
@@ -404,6 +429,60 @@ public class MainActivity extends BaseActivity {
                 }).setAllowInterceptTouch(false);
             }
         });
+        
+        btnCustomMessageDialog.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                MessageDialog.show("这里是标题","此对话框演示的是自定义对话框内部布局的效果","确定","取消")
+                        .setCustomView(new OnBindView<MessageDialog>(R.layout.layout_custom_view) {
+                            @Override
+                            public void onBind(MessageDialog dialog, View v) {
+        
+                            }
+                        });
+            }
+        });
+        
+        btnCustomInputDialog.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                InputDialog.show("这里是标题","此对话框演示的是自定义对话框内部布局的效果","确定","取消")
+                        .setCustomView(new OnBindView<MessageDialog>(R.layout.layout_custom_view) {
+                            @Override
+                            public void onBind(MessageDialog dialog, View v) {
+                
+                            }
+                        });
+            }
+        });
+        
+        btnCustomBottomMenu.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                BottomMenu.show(new String[]{"新标签页中打开", "稍后阅读", "复制链接网址"})
+                        .setMessage("http://www.kongzue.com/DialogX")
+                        .setOnMenuItemClickListener(new OnMenuItemClickListener<BottomMenu>() {
+                            @Override
+                            public boolean onClick(BottomMenu dialog, CharSequence text, int index) {
+                                toast(text);
+                                return false;
+                            }
+                        })
+                .setCustomView(new OnBindView<BottomDialog>(R.layout.layout_custom_view) {
+                    @Override
+                    public void onBind(BottomDialog dialog, View v) {
+        
+                    }
+                });
+            }
+        });
+        
+        btnShowBreak.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                jump(MainActivity.class,new JumpParameter().put("showBreak",true));
+            }
+        });
     }
     
     @Override

+ 0 - 13
app/src/main/res/layout/activity_main.xml

@@ -466,19 +466,6 @@
                         android:textSize="13dp"
                         android:textStyle="bold" />
 
-                    <TextView
-                        android:id="@+id/btn_customNotification"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_margin="5dp"
-                        android:background="@drawable/rect_button"
-                        android:paddingHorizontal="15dp"
-                        android:paddingVertical="10dp"
-                        android:text="通知"
-                        android:textColor="@color/white"
-                        android:textSize="13dp"
-                        android:textStyle="bold" />
-
                 </LinearLayout>
 
                 <TextView

+ 2 - 1
app/src/main/res/layout/layout_custom_view.xml

@@ -15,13 +15,14 @@
             android:id="@+id/img_ico"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@mipmap/ico_wechat" />
+            android:src="@mipmap/ic_launcher" />
 
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="10dp"
             android:text="这里是自定义Layout测试"
+            android:textColor="#878787"
             android:textSize="12dp" />
 
     </LinearLayout>

BIN
app/src/main/res/mipmap-xxhdpi/ico_wechat.png