王鹏鹏 2 yıl önce
ebeveyn
işleme
d67d73f02c

+ 1 - 1
.idea/misc.xml

@@ -5,7 +5,7 @@
       <map>
         <entry key="..\:/workspace/hcp-pad/webview/src/main/res/layout/activity_bridge_web.xml" value="0.22826086956521738" />
         <entry key="..\:/workspace/hcp-pad/webview/src/main/res/layout/activity_webview.xml" value="0.22826086956521738" />
-        <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/activity_workbenches.xml" value="0.22826086956521738" />
+        <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/activity_workbenches.xml" value="0.2" />
         <entry key="..\:/workspace/hcp-pad/workbenches/src/main/res/layout/item_game_list.xml" value="0.22826086956521738" />
         <entry key="..\:/workspace/yingyangfly/app/src/main/res/layout/activity_main.xml" value="0.22826086956521738" />
         <entry key="..\:/workspace/yingyangfly/app/src/main/res/layout/activity_push.xml" value="0.22239583333333332" />

+ 2 - 1
baselib/src/main/java/com/yingyangfly/baselib/adapter/BaseDataBindingAdapter.kt

@@ -7,6 +7,7 @@ import androidx.databinding.DataBindingUtil
 import androidx.databinding.ViewDataBinding
 import androidx.recyclerview.widget.RecyclerView
 import com.yingyangfly.baselib.R
+import com.yingyangfly.baselib.utils.ViewTool
 
 /**
  * @author gold
@@ -72,7 +73,7 @@ abstract class BaseDataBindingAdapter<T, B : ViewDataBinding> :
             val binding = DataBindingUtil.inflate<B>(
                 LayoutInflater.from(parent.context), layoutId, parent, false
             )
-
+            ViewTool.inflateFragmentPixels(parent.context, binding.root,1194, 834)
             ViewHolder(binding)
         }
     }

+ 2 - 2
baselib/src/main/java/com/yingyangfly/baselib/base/BaseFragment.kt

@@ -16,6 +16,7 @@ import com.yingyangfly.baselib.databinding.ActivityBaseBinding
 import com.yingyangfly.baselib.dialog.LoadingDialog
 import com.yingyangfly.baselib.ext.getDbClass
 import com.yingyangfly.baselib.utils.ResUtil
+import com.yingyangfly.baselib.utils.ViewTool
 
 /**
  * @author: gold
@@ -58,8 +59,7 @@ abstract class BaseFragment<DB : ViewDataBinding> : Fragment(), OnRefreshLoadMor
             LinearLayout.LayoutParams.MATCH_PARENT, 1.0f
         )
         binding.root.layoutParams = params
-        bindingBase.llytContent.addView(binding.root)
-
+        bindingBase.llytContent.addView(ViewTool.inflateFragmentPixels(activity, binding.root,1194, 834))
         initMVVM()
         initViews()
         initListener()

+ 73 - 0
baselib/src/main/java/com/yingyangfly/baselib/utils/ViewTool.java

@@ -354,6 +354,79 @@ public class ViewTool {
         return views;
     }
 
+    public static View inflateFragmentPixels(Context context, View views, int width, int height) {
+//        View views = LayoutInflater.from(context).inflate(layoutId, container, false);
+        if (views == null) {
+            return null;
+        }
+        DisplayMetrics dm2 = new DisplayMetrics();
+        ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE))
+                .getDefaultDisplay().getMetrics(dm2);
+        if (heightPixels <= 0) {
+            // DisplayMetrics dm2 = context.getResources().getDisplayMetrics();
+            heightPixels = dm2.heightPixels;
+            widthPixels = dm2.widthPixels;
+            Class<?> c = null;
+            Object obj = null;
+            Field field = null;
+            int x = 0, sbar = 0;
+            try {
+                c = Class.forName("com.android.internal.R$dimen");
+                obj = c.newInstance();
+                field = c.getField("status_bar_height");
+                x = Integer.parseInt(field.get(obj).toString());
+                sbar = context.getResources().getDimensionPixelSize(x);
+            } catch (Exception e1) {
+                e1.printStackTrace();
+            }
+            heightPixels = heightPixels - sbar;
+        }
+
+        Resources resources = context.getResources();
+
+        float heightPixelsN, widthPixelsN;
+        heightPixelsN = heightPixels;
+        widthPixelsN = widthPixels;
+        int rid = resources.getIdentifier("config_showNavigationBar", "bool",
+                "android");
+        if (resources.getBoolean(rid)) {
+            // ��ȡ�������Ƿ���ʾtrue or false
+
+            int resourceId = resources.getIdentifier("navigation_bar_height",
+                    "dimen", "android");
+            if (resourceId > 0) {
+
+                if (isScreenChange(context)) {
+                    widthPixelsN += resources.getDimensionPixelSize(resourceId);
+                } else {
+                    heightPixelsN += resources
+                            .getDimensionPixelSize(resourceId);
+                }
+            }
+
+        }
+
+        if (widthPixelsN / heightPixelsN == 9.0 / 16.0) {
+            width = (int) ((9.0 / 16.0) * height);
+
+        } else if (widthPixelsN / heightPixelsN == 10.0 / 16.0) {
+            width = (int) ((10.0 / 16.0) * height);
+        }
+        initPixels(views, width, height);
+        ViewGroup.LayoutParams lp = views.getLayoutParams();
+        if (lp != null) {
+
+            if (lp.height > 0) {
+                lp.height = (int) (((float) lp.height) / height * heightPixels);
+            }
+            if (lp.width > 0) {
+                lp.width = (int) (((float) lp.width) / width * widthPixels);
+            }
+            views.setLayoutParams(lp);
+        }
+        return views;
+    }
+
     public static boolean isScreenChange(Context context) {
 
         Configuration mConfiguration = context.getResources()

+ 1 - 1
workbenches/src/main/java/com/yingyang/workbenches/WorkbenchesActivity.kt

@@ -33,7 +33,7 @@ class WorkbenchesActivity : BaseMVVMActivity<ActivityWorkbenchesBinding, Workben
         gameList.add("泡泡马特")
         gameList.add("泡泡马特")
         binding {
-            rvGame.layoutManager = GridLayoutManager(this@WorkbenchesActivity, 5)
+            rvGame.layoutManager = GridLayoutManager(this@WorkbenchesActivity, 4)
             rvGame.adapter = gameAdapter
             gameAdapter.setData(gameList)
             gameAdapter.onGameImageClickListener = { bean, position ->

+ 5 - 3
workbenches/src/main/res/layout/activity_workbenches.xml

@@ -159,14 +159,14 @@
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_marginStart="@dimen/divider_48px"
-                android:layout_marginTop="@dimen/divider_8px"
+                android:layout_marginTop="@dimen/divider_12px"
                 android:layout_weight="1"
                 tools:ignore="NestedWeights"
                 tools:listitem="@layout/item_game_list" />
 
             <androidx.cardview.widget.CardView
                 android:layout_width="@dimen/divider_200px"
-                android:layout_height="match_parent"
+                android:layout_height="@dimen/divider_413px"
                 android:layout_marginStart="@dimen/divider_8px"
                 android:layout_marginTop="@dimen/divider_20px"
                 android:layout_marginEnd="@dimen/divider_52px"
@@ -235,7 +235,9 @@
         <androidx.constraintlayout.widget.ConstraintLayout
             android:id="@+id/layoutOperation"
             android:layout_width="match_parent"
-            android:layout_height="@dimen/divider_100px"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/divider_50px"
+            android:layout_marginBottom="@dimen/divider_38px"
             app:layout_constraintLeft_toLeftOf="parent"
             app:layout_constraintRight_toRightOf="parent"
             app:layout_constraintTop_toBottomOf="@+id/businessLayout">

+ 3 - 4
workbenches/src/main/res/layout/item_game_list.xml

@@ -13,16 +13,15 @@
 
     <androidx.cardview.widget.CardView
         android:id="@+id/gameLayout"
-        android:layout_width="@dimen/divider_260px"
-        android:layout_height="@dimen/divider_260px"
+        android:layout_width="@dimen/divider_200px"
+        android:layout_height="@dimen/divider_200px"
         android:layout_margin="@dimen/divider_12px"
         app:cardCornerRadius="@dimen/divider_20px">
 
         <ImageView
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            android:background="@mipmap/icon_game"
-            android:scaleType="fitXY" />
+            android:background="@mipmap/icon_game" />
 
         <TextView
             android:layout_width="match_parent"

+ 1 - 0
workbenches/src/main/res/values/dimens.xml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources xmlns:tools="http://schemas.android.com/tools">
 
+    <dimen name="divider_413px" tools:ignore="PxUsage">413px</dimen>
     <dimen name="divider_409px" tools:ignore="PxUsage">409px</dimen>
     <dimen name="divider_340px" tools:ignore="PxUsage">340px</dimen>
     <dimen name="divider_270px" tools:ignore="PxUsage">270px</dimen>