diff --git a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt new file mode 100644 index 0000000..8760100 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt @@ -0,0 +1,33 @@ +package com.casic.xz.meterage.utils + +import android.graphics.Canvas +import android.graphics.Color +import android.graphics.Paint +import android.view.View +import androidx.recyclerview.widget.RecyclerView + +class DividerItemDecoration(private val leftMargin: Float, private val rightMargin: Float) : + RecyclerView.ItemDecoration() { + + private val bottomLinePaint by lazy { Paint() } + + init { + bottomLinePaint.isAntiAlias = true + bottomLinePaint.color = Color.LTGRAY + } + + //画分割线 + override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) { + val childCount: Int = parent.childCount + for (i in 0 until childCount) { + val view: View = parent.getChildAt(i) + c.drawRect( + leftMargin, + view.bottom.toFloat(), + parent.width.toFloat() - rightMargin, + (view.bottom + 1).toFloat(), + bottomLinePaint + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt new file mode 100644 index 0000000..8760100 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt @@ -0,0 +1,33 @@ +package com.casic.xz.meterage.utils + +import android.graphics.Canvas +import android.graphics.Color +import android.graphics.Paint +import android.view.View +import androidx.recyclerview.widget.RecyclerView + +class DividerItemDecoration(private val leftMargin: Float, private val rightMargin: Float) : + RecyclerView.ItemDecoration() { + + private val bottomLinePaint by lazy { Paint() } + + init { + bottomLinePaint.isAntiAlias = true + bottomLinePaint.color = Color.LTGRAY + } + + //画分割线 + override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) { + val childCount: Int = parent.childCount + for (i in 0 until childCount) { + val view: View = parent.getChildAt(i) + c.drawRect( + leftMargin, + view.bottom.toFloat(), + parent.width.toFloat() - rightMargin, + (view.bottom + 1).toFloat(), + bottomLinePaint + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt new file mode 100644 index 0000000..a7736ed --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt @@ -0,0 +1,18 @@ +package com.casic.xz.meterage.utils + +import android.graphics.Rect +import android.view.View +import androidx.recyclerview.widget.RecyclerView + +class VerticalMarginItemDecoration(private val topMargin: Int, private val bottomMargin: Int) : + RecyclerView.ItemDecoration() { + + //设置Item间的间隔 + override fun getItemOffsets( + outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State + ) { + super.getItemOffsets(outRect, view, parent, state) + outRect.top = topMargin + outRect.bottom = bottomMargin + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt new file mode 100644 index 0000000..8760100 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt @@ -0,0 +1,33 @@ +package com.casic.xz.meterage.utils + +import android.graphics.Canvas +import android.graphics.Color +import android.graphics.Paint +import android.view.View +import androidx.recyclerview.widget.RecyclerView + +class DividerItemDecoration(private val leftMargin: Float, private val rightMargin: Float) : + RecyclerView.ItemDecoration() { + + private val bottomLinePaint by lazy { Paint() } + + init { + bottomLinePaint.isAntiAlias = true + bottomLinePaint.color = Color.LTGRAY + } + + //画分割线 + override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) { + val childCount: Int = parent.childCount + for (i in 0 until childCount) { + val view: View = parent.getChildAt(i) + c.drawRect( + leftMargin, + view.bottom.toFloat(), + parent.width.toFloat() - rightMargin, + (view.bottom + 1).toFloat(), + bottomLinePaint + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt new file mode 100644 index 0000000..a7736ed --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt @@ -0,0 +1,18 @@ +package com.casic.xz.meterage.utils + +import android.graphics.Rect +import android.view.View +import androidx.recyclerview.widget.RecyclerView + +class VerticalMarginItemDecoration(private val topMargin: Int, private val bottomMargin: Int) : + RecyclerView.ItemDecoration() { + + //设置Item间的间隔 + override fun getItemOffsets( + outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State + ) { + super.getItemOffsets(outRect, view, parent, state) + outRect.top = topMargin + outRect.bottom = bottomMargin + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 26190af..9041bf2 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -3,13 +3,13 @@ import android.content.Context import android.os.Handler import androidx.lifecycle.ViewModelProvider -import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.base.ApplicationBaseActivity import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.search.SearchCustomerActivity import com.casic.xz.meterage.vm.CustomerViewModel @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -173,7 +174,7 @@ } } customerRecyclerView.addItemDecoration( - DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + DividerItemDecoration(70f.dp2px(context).toFloat(), 0f) ) customerRecyclerView.adapter = customerAdapter customerAdapter.setOnItemClickedListener(object : diff --git a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt new file mode 100644 index 0000000..8760100 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt @@ -0,0 +1,33 @@ +package com.casic.xz.meterage.utils + +import android.graphics.Canvas +import android.graphics.Color +import android.graphics.Paint +import android.view.View +import androidx.recyclerview.widget.RecyclerView + +class DividerItemDecoration(private val leftMargin: Float, private val rightMargin: Float) : + RecyclerView.ItemDecoration() { + + private val bottomLinePaint by lazy { Paint() } + + init { + bottomLinePaint.isAntiAlias = true + bottomLinePaint.color = Color.LTGRAY + } + + //画分割线 + override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) { + val childCount: Int = parent.childCount + for (i in 0 until childCount) { + val view: View = parent.getChildAt(i) + c.drawRect( + leftMargin, + view.bottom.toFloat(), + parent.width.toFloat() - rightMargin, + (view.bottom + 1).toFloat(), + bottomLinePaint + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt new file mode 100644 index 0000000..a7736ed --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt @@ -0,0 +1,18 @@ +package com.casic.xz.meterage.utils + +import android.graphics.Rect +import android.view.View +import androidx.recyclerview.widget.RecyclerView + +class VerticalMarginItemDecoration(private val topMargin: Int, private val bottomMargin: Int) : + RecyclerView.ItemDecoration() { + + //设置Item间的间隔 + override fun getItemOffsets( + outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State + ) { + super.getItemOffsets(outRect, view, parent, state) + outRect.top = topMargin + outRect.bottom = bottomMargin + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 26190af..9041bf2 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -3,13 +3,13 @@ import android.content.Context import android.os.Handler import androidx.lifecycle.ViewModelProvider -import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.base.ApplicationBaseActivity import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.search.SearchCustomerActivity import com.casic.xz.meterage.vm.CustomerViewModel @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -173,7 +174,7 @@ } } customerRecyclerView.addItemDecoration( - DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + DividerItemDecoration(70f.dp2px(context).toFloat(), 0f) ) customerRecyclerView.adapter = customerAdapter customerAdapter.setOnItemClickedListener(object : diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index 46f3a92..daa2ff9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -18,10 +18,7 @@ import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.model.SampleListModel -import com.casic.xz.meterage.utils.FileType -import com.casic.xz.meterage.utils.GlideLoadEngine -import com.casic.xz.meterage.utils.LoadingDialogHub -import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.utils.* import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel @@ -33,6 +30,7 @@ import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.realFilePath import com.pengxh.kt.lite.extensions.show @@ -101,6 +99,9 @@ //样品列表 sampleAdapter = CustomerSampleAdapter(this, dataBeans) + sampleRecyclerView.addItemDecoration( + VerticalMarginItemDecoration(0, 5f.dp2px(context)) + ) sampleRecyclerView.adapter = sampleAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt new file mode 100644 index 0000000..8760100 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt @@ -0,0 +1,33 @@ +package com.casic.xz.meterage.utils + +import android.graphics.Canvas +import android.graphics.Color +import android.graphics.Paint +import android.view.View +import androidx.recyclerview.widget.RecyclerView + +class DividerItemDecoration(private val leftMargin: Float, private val rightMargin: Float) : + RecyclerView.ItemDecoration() { + + private val bottomLinePaint by lazy { Paint() } + + init { + bottomLinePaint.isAntiAlias = true + bottomLinePaint.color = Color.LTGRAY + } + + //画分割线 + override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) { + val childCount: Int = parent.childCount + for (i in 0 until childCount) { + val view: View = parent.getChildAt(i) + c.drawRect( + leftMargin, + view.bottom.toFloat(), + parent.width.toFloat() - rightMargin, + (view.bottom + 1).toFloat(), + bottomLinePaint + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt new file mode 100644 index 0000000..a7736ed --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt @@ -0,0 +1,18 @@ +package com.casic.xz.meterage.utils + +import android.graphics.Rect +import android.view.View +import androidx.recyclerview.widget.RecyclerView + +class VerticalMarginItemDecoration(private val topMargin: Int, private val bottomMargin: Int) : + RecyclerView.ItemDecoration() { + + //设置Item间的间隔 + override fun getItemOffsets( + outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State + ) { + super.getItemOffsets(outRect, view, parent, state) + outRect.top = topMargin + outRect.bottom = bottomMargin + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 26190af..9041bf2 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -3,13 +3,13 @@ import android.content.Context import android.os.Handler import androidx.lifecycle.ViewModelProvider -import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.base.ApplicationBaseActivity import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.search.SearchCustomerActivity import com.casic.xz.meterage.vm.CustomerViewModel @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -173,7 +174,7 @@ } } customerRecyclerView.addItemDecoration( - DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + DividerItemDecoration(70f.dp2px(context).toFloat(), 0f) ) customerRecyclerView.adapter = customerAdapter customerAdapter.setOnItemClickedListener(object : diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index 46f3a92..daa2ff9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -18,10 +18,7 @@ import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.model.SampleListModel -import com.casic.xz.meterage.utils.FileType -import com.casic.xz.meterage.utils.GlideLoadEngine -import com.casic.xz.meterage.utils.LoadingDialogHub -import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.utils.* import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel @@ -33,6 +30,7 @@ import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.realFilePath import com.pengxh.kt.lite.extensions.show @@ -101,6 +99,9 @@ //样品列表 sampleAdapter = CustomerSampleAdapter(this, dataBeans) + sampleRecyclerView.addItemDecoration( + VerticalMarginItemDecoration(0, 5f.dp2px(context)) + ) sampleRecyclerView.adapter = sampleAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index dabbc07..f8504f0 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -5,19 +5,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DefaultItemAnimator -import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.base.ApplicationBaseActivity import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.vm.CustomerViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.SingleChoiceAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState @@ -178,7 +179,7 @@ } } customerRecyclerView.addItemDecoration( - DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + DividerItemDecoration(70f.dp2px(context).toFloat(), 0f) ) (customerRecyclerView.itemAnimator as DefaultItemAnimator).supportsChangeAnimations = false diff --git a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt new file mode 100644 index 0000000..8760100 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt @@ -0,0 +1,33 @@ +package com.casic.xz.meterage.utils + +import android.graphics.Canvas +import android.graphics.Color +import android.graphics.Paint +import android.view.View +import androidx.recyclerview.widget.RecyclerView + +class DividerItemDecoration(private val leftMargin: Float, private val rightMargin: Float) : + RecyclerView.ItemDecoration() { + + private val bottomLinePaint by lazy { Paint() } + + init { + bottomLinePaint.isAntiAlias = true + bottomLinePaint.color = Color.LTGRAY + } + + //画分割线 + override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) { + val childCount: Int = parent.childCount + for (i in 0 until childCount) { + val view: View = parent.getChildAt(i) + c.drawRect( + leftMargin, + view.bottom.toFloat(), + parent.width.toFloat() - rightMargin, + (view.bottom + 1).toFloat(), + bottomLinePaint + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt new file mode 100644 index 0000000..a7736ed --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt @@ -0,0 +1,18 @@ +package com.casic.xz.meterage.utils + +import android.graphics.Rect +import android.view.View +import androidx.recyclerview.widget.RecyclerView + +class VerticalMarginItemDecoration(private val topMargin: Int, private val bottomMargin: Int) : + RecyclerView.ItemDecoration() { + + //设置Item间的间隔 + override fun getItemOffsets( + outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State + ) { + super.getItemOffsets(outRect, view, parent, state) + outRect.top = topMargin + outRect.bottom = bottomMargin + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 26190af..9041bf2 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -3,13 +3,13 @@ import android.content.Context import android.os.Handler import androidx.lifecycle.ViewModelProvider -import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.base.ApplicationBaseActivity import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.search.SearchCustomerActivity import com.casic.xz.meterage.vm.CustomerViewModel @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -173,7 +174,7 @@ } } customerRecyclerView.addItemDecoration( - DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + DividerItemDecoration(70f.dp2px(context).toFloat(), 0f) ) customerRecyclerView.adapter = customerAdapter customerAdapter.setOnItemClickedListener(object : diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index 46f3a92..daa2ff9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -18,10 +18,7 @@ import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.model.SampleListModel -import com.casic.xz.meterage.utils.FileType -import com.casic.xz.meterage.utils.GlideLoadEngine -import com.casic.xz.meterage.utils.LoadingDialogHub -import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.utils.* import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel @@ -33,6 +30,7 @@ import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.realFilePath import com.pengxh.kt.lite.extensions.show @@ -101,6 +99,9 @@ //样品列表 sampleAdapter = CustomerSampleAdapter(this, dataBeans) + sampleRecyclerView.addItemDecoration( + VerticalMarginItemDecoration(0, 5f.dp2px(context)) + ) sampleRecyclerView.adapter = sampleAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index dabbc07..f8504f0 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -5,19 +5,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DefaultItemAnimator -import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.base.ApplicationBaseActivity import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.vm.CustomerViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.SingleChoiceAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState @@ -178,7 +179,7 @@ } } customerRecyclerView.addItemDecoration( - DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + DividerItemDecoration(70f.dp2px(context).toFloat(), 0f) ) (customerRecyclerView.itemAnimator as DefaultItemAnimator).supportsChangeAnimations = false diff --git a/app/src/main/res/drawable/bg_solid_layout_color_a_radius_5.xml b/app/src/main/res/drawable/bg_solid_layout_color_a_radius_5.xml new file mode 100644 index 0000000..e024ad8 --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_color_a_radius_5.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt new file mode 100644 index 0000000..8760100 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt @@ -0,0 +1,33 @@ +package com.casic.xz.meterage.utils + +import android.graphics.Canvas +import android.graphics.Color +import android.graphics.Paint +import android.view.View +import androidx.recyclerview.widget.RecyclerView + +class DividerItemDecoration(private val leftMargin: Float, private val rightMargin: Float) : + RecyclerView.ItemDecoration() { + + private val bottomLinePaint by lazy { Paint() } + + init { + bottomLinePaint.isAntiAlias = true + bottomLinePaint.color = Color.LTGRAY + } + + //画分割线 + override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) { + val childCount: Int = parent.childCount + for (i in 0 until childCount) { + val view: View = parent.getChildAt(i) + c.drawRect( + leftMargin, + view.bottom.toFloat(), + parent.width.toFloat() - rightMargin, + (view.bottom + 1).toFloat(), + bottomLinePaint + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt new file mode 100644 index 0000000..a7736ed --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt @@ -0,0 +1,18 @@ +package com.casic.xz.meterage.utils + +import android.graphics.Rect +import android.view.View +import androidx.recyclerview.widget.RecyclerView + +class VerticalMarginItemDecoration(private val topMargin: Int, private val bottomMargin: Int) : + RecyclerView.ItemDecoration() { + + //设置Item间的间隔 + override fun getItemOffsets( + outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State + ) { + super.getItemOffsets(outRect, view, parent, state) + outRect.top = topMargin + outRect.bottom = bottomMargin + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 26190af..9041bf2 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -3,13 +3,13 @@ import android.content.Context import android.os.Handler import androidx.lifecycle.ViewModelProvider -import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.base.ApplicationBaseActivity import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.search.SearchCustomerActivity import com.casic.xz.meterage.vm.CustomerViewModel @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -173,7 +174,7 @@ } } customerRecyclerView.addItemDecoration( - DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + DividerItemDecoration(70f.dp2px(context).toFloat(), 0f) ) customerRecyclerView.adapter = customerAdapter customerAdapter.setOnItemClickedListener(object : diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index 46f3a92..daa2ff9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -18,10 +18,7 @@ import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.model.SampleListModel -import com.casic.xz.meterage.utils.FileType -import com.casic.xz.meterage.utils.GlideLoadEngine -import com.casic.xz.meterage.utils.LoadingDialogHub -import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.utils.* import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel @@ -33,6 +30,7 @@ import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.realFilePath import com.pengxh.kt.lite.extensions.show @@ -101,6 +99,9 @@ //样品列表 sampleAdapter = CustomerSampleAdapter(this, dataBeans) + sampleRecyclerView.addItemDecoration( + VerticalMarginItemDecoration(0, 5f.dp2px(context)) + ) sampleRecyclerView.adapter = sampleAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index dabbc07..f8504f0 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -5,19 +5,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DefaultItemAnimator -import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.base.ApplicationBaseActivity import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.vm.CustomerViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.SingleChoiceAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState @@ -178,7 +179,7 @@ } } customerRecyclerView.addItemDecoration( - DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + DividerItemDecoration(70f.dp2px(context).toFloat(), 0f) ) (customerRecyclerView.itemAnimator as DefaultItemAnimator).supportsChangeAnimations = false diff --git a/app/src/main/res/drawable/bg_solid_layout_color_a_radius_5.xml b/app/src/main/res/drawable/bg_solid_layout_color_a_radius_5.xml new file mode 100644 index 0000000..e024ad8 --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_color_a_radius_5.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_entrust_add.xml b/app/src/main/res/layout/activity_entrust_add.xml index ba856c7..0fd0721 100644 --- a/app/src/main/res/layout/activity_entrust_add.xml +++ b/app/src/main/res/layout/activity_entrust_add.xml @@ -243,13 +243,10 @@ android:id="@+id/typeRecyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginBottom="@dimen/dp_10" android:paddingHorizontal="@dimen/dp_5" app:spanCount="2" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" /> - - diff --git a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt new file mode 100644 index 0000000..8760100 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt @@ -0,0 +1,33 @@ +package com.casic.xz.meterage.utils + +import android.graphics.Canvas +import android.graphics.Color +import android.graphics.Paint +import android.view.View +import androidx.recyclerview.widget.RecyclerView + +class DividerItemDecoration(private val leftMargin: Float, private val rightMargin: Float) : + RecyclerView.ItemDecoration() { + + private val bottomLinePaint by lazy { Paint() } + + init { + bottomLinePaint.isAntiAlias = true + bottomLinePaint.color = Color.LTGRAY + } + + //画分割线 + override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) { + val childCount: Int = parent.childCount + for (i in 0 until childCount) { + val view: View = parent.getChildAt(i) + c.drawRect( + leftMargin, + view.bottom.toFloat(), + parent.width.toFloat() - rightMargin, + (view.bottom + 1).toFloat(), + bottomLinePaint + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt new file mode 100644 index 0000000..a7736ed --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt @@ -0,0 +1,18 @@ +package com.casic.xz.meterage.utils + +import android.graphics.Rect +import android.view.View +import androidx.recyclerview.widget.RecyclerView + +class VerticalMarginItemDecoration(private val topMargin: Int, private val bottomMargin: Int) : + RecyclerView.ItemDecoration() { + + //设置Item间的间隔 + override fun getItemOffsets( + outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State + ) { + super.getItemOffsets(outRect, view, parent, state) + outRect.top = topMargin + outRect.bottom = bottomMargin + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index 26190af..9041bf2 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -3,13 +3,13 @@ import android.content.Context import android.os.Handler import androidx.lifecycle.ViewModelProvider -import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.base.ApplicationBaseActivity import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.search.SearchCustomerActivity import com.casic.xz.meterage.vm.CustomerViewModel @@ -17,6 +17,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -173,7 +174,7 @@ } } customerRecyclerView.addItemDecoration( - DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + DividerItemDecoration(70f.dp2px(context).toFloat(), 0f) ) customerRecyclerView.adapter = customerAdapter customerAdapter.setOnItemClickedListener(object : diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index 46f3a92..daa2ff9 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -18,10 +18,7 @@ import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.model.SampleListModel -import com.casic.xz.meterage.utils.FileType -import com.casic.xz.meterage.utils.GlideLoadEngine -import com.casic.xz.meterage.utils.LoadingDialogHub -import com.casic.xz.meterage.utils.LocaleConstant +import com.casic.xz.meterage.utils.* import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel @@ -33,6 +30,7 @@ import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.realFilePath import com.pengxh.kt.lite.extensions.show @@ -101,6 +99,9 @@ //样品列表 sampleAdapter = CustomerSampleAdapter(this, dataBeans) + sampleRecyclerView.addItemDecoration( + VerticalMarginItemDecoration(0, 5f.dp2px(context)) + ) sampleRecyclerView.adapter = sampleAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index dabbc07..f8504f0 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -5,19 +5,20 @@ import android.os.Handler import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DefaultItemAnimator -import androidx.recyclerview.widget.DividerItemDecoration import com.casic.xz.meterage.R import com.casic.xz.meterage.base.ApplicationBaseActivity import com.casic.xz.meterage.extensions.initLayoutImmersionBar import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel +import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.vm.CustomerViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.SingleChoiceAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState @@ -178,7 +179,7 @@ } } customerRecyclerView.addItemDecoration( - DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + DividerItemDecoration(70f.dp2px(context).toFloat(), 0f) ) (customerRecyclerView.itemAnimator as DefaultItemAnimator).supportsChangeAnimations = false diff --git a/app/src/main/res/drawable/bg_solid_layout_color_a_radius_5.xml b/app/src/main/res/drawable/bg_solid_layout_color_a_radius_5.xml new file mode 100644 index 0000000..e024ad8 --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_color_a_radius_5.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_entrust_add.xml b/app/src/main/res/layout/activity_entrust_add.xml index ba856c7..0fd0721 100644 --- a/app/src/main/res/layout/activity_entrust_add.xml +++ b/app/src/main/res/layout/activity_entrust_add.xml @@ -243,13 +243,10 @@ android:id="@+id/typeRecyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginBottom="@dimen/dp_10" android:paddingHorizontal="@dimen/dp_5" app:spanCount="2" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" /> - - diff --git a/app/src/main/res/layout/item_customer_sample_rv_l.xml b/app/src/main/res/layout/item_customer_sample_rv_l.xml index 27e5016..075cd0c 100644 --- a/app/src/main/res/layout/item_customer_sample_rv_l.xml +++ b/app/src/main/res/layout/item_customer_sample_rv_l.xml @@ -1,60 +1,52 @@ - + android:background="@drawable/bg_solid_layout_color_a_radius_5" + android:orientation="vertical" + android:padding="@dimen/dp_5"> - - - - - - - + android:gravity="center_vertical" + android:orientation="horizontal"> + android:layout_weight="1" + android:text="电压表【X-M01】" + android:textColor="@color/black" + android:textSize="@dimen/sp_14" /> - \ No newline at end of file + + + + + \ No newline at end of file