Переглянути джерело

feat: 移除View.topMargin/topPadding/bottomMargin等扩展方法

DoggyZhang 7 місяців тому
батько
коміт
b472e86761

+ 0 - 49
app/src/main/java/com/adealink/weparty/commonui/ext/ViewExt.kt

@@ -221,55 +221,6 @@ fun View.safeAction(action: Runnable) {
     }
 }
 
-var View.topMargin: Int
-    get() = (this.layoutParams as ViewGroup.MarginLayoutParams).topMargin
-    set(value) {
-        updateLayoutParams<ViewGroup.MarginLayoutParams> { topMargin = value }
-    }
-
-var View.topPadding: Int
-    get() = paddingTop
-    set(value) {
-        updateLayoutParams { setPaddingRelative(paddingStart, value, paddingEnd, paddingBottom) }
-    }
-
-var View.bottomMargin: Int
-    get() = (this.layoutParams as ViewGroup.MarginLayoutParams).bottomMargin
-    set(value) {
-        updateLayoutParams<ViewGroup.MarginLayoutParams> { bottomMargin = value }
-    }
-
-var View.endMargin: Int
-    get() = (this.layoutParams as ViewGroup.MarginLayoutParams).marginEnd
-    set(value) {
-        updateLayoutParams<ViewGroup.MarginLayoutParams> { marginEnd = value }
-    }
-
-var View.startMargin: Int
-    get() = (this.layoutParams as ViewGroup.MarginLayoutParams).marginStart
-    set(value) {
-        updateLayoutParams<ViewGroup.MarginLayoutParams> { marginStart = value }
-    }
-
-var View.leftMargin: Int
-    get() = (this.layoutParams as ViewGroup.MarginLayoutParams).leftMargin
-    set(value) {
-        updateLayoutParams<ViewGroup.MarginLayoutParams> { leftMargin = value }
-    }
-
-var View.rightMargin: Int
-    get() = (this.layoutParams as ViewGroup.MarginLayoutParams).rightMargin
-    set(value) {
-        updateLayoutParams<ViewGroup.MarginLayoutParams> { rightMargin = value }
-    }
-
-var View.startPadding: Int
-    get() = paddingStart
-    set(value) {
-        updateLayoutParams { setPaddingRelative(value, paddingTop, paddingEnd, paddingBottom) }
-    }
-
-
 /**
  * 可以用来扩大View的点击范围
  */

+ 12 - 7
app/src/main/java/com/adealink/weparty/imageselect/takePhoto/RecordVideoFragment.kt

@@ -27,17 +27,16 @@ import androidx.camera.video.Recorder
 import androidx.camera.video.Recording
 import androidx.camera.video.VideoCapture
 import androidx.camera.video.VideoRecordEvent
+import androidx.constraintlayout.widget.ConstraintLayout
 import androidx.core.content.ContextCompat
 import androidx.core.view.WindowInsetsCompat
+import androidx.core.view.updateLayoutParams
 import androidx.lifecycle.lifecycleScope
 import com.adealink.frame.base.Rlt
 import com.adealink.frame.mvvm.view.viewBinding
 import com.adealink.weparty.App
 import com.adealink.weparty.R
 import com.adealink.weparty.commonui.BaseFragment
-import com.adealink.weparty.commonui.ext.bottomMargin
-import com.adealink.weparty.commonui.ext.endMargin
-import com.adealink.weparty.commonui.ext.topMargin
 import com.adealink.weparty.commonui.toast.util.showToast
 import com.adealink.weparty.commonui.widget.CircleProgressButtonView
 import com.adealink.weparty.databinding.FragmentRecordVideoBinding
@@ -162,14 +161,20 @@ class RecordVideoFragment : BaseFragment(R.layout.fragment_record_video) {
         activity?.window?.fitSystemWindows()
         binding.btnRecordVideo.onWindowInsets { view, windowInsets ->
             if (resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT) {
-                view.bottomMargin =
-                    windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()).bottom
+                view.updateLayoutParams<ConstraintLayout.LayoutParams> {
+                    bottomMargin =
+                        windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()).bottom
+                }
             } else {
-                view.endMargin = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()).right
+                view.updateLayoutParams<ConstraintLayout.LayoutParams> {
+                    marginEnd = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()).right
+                }
             }
         }
         binding.btnFlash.onWindowInsets { view, windowInsets ->
-            view.topMargin = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()).top
+            view.updateLayoutParams<ConstraintLayout.LayoutParams>{
+                topMargin = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()).top
+            }
         }
     }
 

+ 2 - 3
app/src/main/java/com/adealink/weparty/module/message/view/IntimacyLevelLabelView.kt

@@ -13,7 +13,6 @@ import com.adealink.weparty.commonui.drawabletoolbox.DrawableBuilder
 import com.adealink.weparty.commonui.ext.dp
 import com.adealink.weparty.commonui.ext.gone
 import com.adealink.weparty.commonui.ext.show
-import com.adealink.weparty.commonui.ext.startPadding
 import com.adealink.weparty.databinding.LayoutIntimacyLevelLabelBinding
 import com.adealink.weparty.module.couple.data.CoupleType
 import com.adealink.weparty.module.couple.data.CoupleUserInfo
@@ -48,9 +47,9 @@ class IntimacyLevelLabelView @JvmOverloads constructor(
         binding.levelTv.text = value.toString()
         binding.levelTv.setTextColor(getCompatColor(getLevelTextColor(cpType, friendType)))
         if (cpType == CoupleType.Couple.type) {
-            binding.levelTv.startPadding = paddingStartCP
+            binding.levelTv.setPaddingRelative(paddingStartCP, binding.levelTv.paddingTop, binding.levelTv.paddingEnd, binding.levelTv.paddingBottom)
         } else {
-            binding.levelTv.startPadding = paddingStartDefault
+            binding.levelTv.setPaddingRelative(paddingStartDefault, binding.levelTv.paddingTop, binding.levelTv.paddingEnd, binding.levelTv.paddingBottom)
         }
     }