diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1ef2720..745ee11 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -54,14 +54,14 @@
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
- android:usesCleartextTraffic="true"
android:theme="@style/Theme.GLOwner"
+ android:usesCleartextTraffic="true"
tools:targetApi="31">
-
+
@@ -114,40 +113,34 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/dhsd/glowner/adapter/DriverCarsAdapter.kt b/app/src/main/java/com/dhsd/glowner/adapter/DriverCarsAdapter.kt
new file mode 100644
index 0000000..9e778d7
--- /dev/null
+++ b/app/src/main/java/com/dhsd/glowner/adapter/DriverCarsAdapter.kt
@@ -0,0 +1,54 @@
+package com.dhsd.glowner.adapter
+
+import android.content.Context
+import android.view.ViewGroup
+import android.widget.ImageView
+import com.chad.library.adapter4.BaseQuickAdapter
+import com.chad.library.adapter4.viewholder.QuickViewHolder
+import com.dahe.mylibrary.utils.ImageLoader
+import com.dhsd.glowner.R
+import com.dhsd.glowner.bean.CarBean
+
+/**
+ * @ClassName WaybillAdapter
+ * @Author 用户
+ * @Date 2024/1/23 16:27
+ * @Description TODO
+ */
+class DriverCarsAdapter() :
+ BaseQuickAdapter() {
+ override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: CarBean?) {
+ holder.run {
+ if (item != null) {
+ setBackgroundResource(R.id.cdContent, if (item.isSelect) R.drawable.shape_discar_8 else R.drawable.shape_white_8)
+ }
+ setText(R.id.tvCarNum, item?.vehicleNum)
+ setText(R.id.tvCarType, item?.vehicleType)
+ setText(R.id.tvDriverName, item?.contactName)
+ setText(R.id.tvPhone, item?.contactPhone)
+ setText(R.id.tvCarLen, """${if (!item?.carLong.isNullOrEmpty()) item?.carLong else ""}mm""")
+ setText(
+ R.id.tvCarWei,
+ """${
+ if (!item?.approvedLoad.isNullOrEmpty()) item?.approvedLoad?.toFloat()
+ ?.div(1000) else if (!item?.tractionWeight.isNullOrEmpty()) item?.tractionWeight?.toFloat()
+ ?.div(1000) else 0
+ }吨"""
+ )
+
+ ImageLoader.getInstance()
+ .loadRoundImage(context, item?.carUrl, 6, getView(R.id.ivHead))
+ ImageLoader.getInstance()
+ .loadRoundImage(context, item?.avatar, 6, getView(R.id.ivDriverHead))
+ }
+ }
+
+ override fun onCreateViewHolder(
+ context: Context,
+ parent: ViewGroup,
+ viewType: Int
+ ): QuickViewHolder {
+ // 返回一个 ViewHolder
+ return QuickViewHolder(R.layout.item_driver_cars, parent)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/dhsd/glowner/bean/CarBean.kt b/app/src/main/java/com/dhsd/glowner/bean/CarBean.kt
new file mode 100644
index 0000000..002bea8
--- /dev/null
+++ b/app/src/main/java/com/dhsd/glowner/bean/CarBean.kt
@@ -0,0 +1,41 @@
+package com.dhsd.glowner.bean
+
+/**
+ * @ClassName CarBean
+ * @Author john
+ * @Date 2024/10/24 10:46
+ * @Description TODO
+ */
+data class CarBean(
+ val approvedLoad: String="",
+ val tractionWeight: String="",
+ val carHeight: String="",
+ var carId: String="",
+ var driverId: String="",
+ var roadLicenseValidityOverdue: String="",
+ var licenseValidityOverdue: String="",
+ val carLong: String="",
+ val carUrl: String="",
+ val carWidth: String="",
+ val energySign: String="",
+ val energySignCode: String="",
+ val isTrailer: String="",
+ val plateColor: String="",
+ val plateColorCode: String="",
+ val trailerApprovedLoad: String="",
+ val trailerHeight: String="",
+ val trailerId: String="",
+ val trailerLong: String="",
+ val trailerUrl: String="",
+ val trailerVehicleNum: String="",
+ val trailerVehicleType: String="",
+ val trailerVehicleTypeCode: String="",
+ var vehicleNum: String="",
+ val vehicleType: String="",
+ val contactName: String="",
+ val vehicleTypeCode: String="",
+ val idcardName: String="",
+ val contactPhone: String="",
+ val avatar: String="",
+ var isSelect: Boolean = false
+)
diff --git a/app/src/main/java/com/dhsd/glowner/bean/OrderBean.kt b/app/src/main/java/com/dhsd/glowner/bean/OrderBean.kt
index e46e9e5..f570d7c 100644
--- a/app/src/main/java/com/dhsd/glowner/bean/OrderBean.kt
+++ b/app/src/main/java/com/dhsd/glowner/bean/OrderBean.kt
@@ -7,8 +7,8 @@ package com.dahe.glex.bean
* @Description TODO
*/
-data class OrderListBean(
- var rows: List
+data class OrderListBean(
+ var rows: List
)
data class TextOrder(val orderId: String)
@@ -110,3 +110,10 @@ data class OrderBean(
val vehicleLength: String,
val vehicleType: String
)
+
+data class DispatchBean(
+ var orderId: String,
+ var shipperCaptainId: String = "",
+ var shipperDriverId: String,
+ var shipperCarId: String
+)
diff --git a/app/src/main/java/com/dhsd/glowner/cuspop/PopBottomCar.kt b/app/src/main/java/com/dhsd/glowner/cuspop/PopBottomCar.kt
index 96a5e7f..80365c2 100644
--- a/app/src/main/java/com/dhsd/glowner/cuspop/PopBottomCar.kt
+++ b/app/src/main/java/com/dhsd/glowner/cuspop/PopBottomCar.kt
@@ -48,6 +48,8 @@ class PopBottomCar(
// isSelect = true
// currCar = this
// }
+
+ currCar = cars.find { it.isSelect }
initRecycle(recycler)
btnOk.setOnClickListener {
if (currCar == null) {
diff --git a/app/src/main/java/com/dhsd/glowner/net/Api.kt b/app/src/main/java/com/dhsd/glowner/net/Api.kt
index 9eea314..62e74e4 100644
--- a/app/src/main/java/com/dhsd/glowner/net/Api.kt
+++ b/app/src/main/java/com/dhsd/glowner/net/Api.kt
@@ -1,13 +1,14 @@
-
import com.dahe.glex.bean.*
import com.dahe.mylibrary.net.CommonResponseBean
import com.dhsd.glowner.BuildConfig
+import com.dhsd.glowner.bean.CarBean
import com.dhsd.glowner.bean.LoginBean
import io.reactivex.rxjava3.core.Observable
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.POST
import retrofit2.http.PUT
+import retrofit2.http.Query
/**
@@ -28,6 +29,7 @@ interface Api {
companion object {
const val BASE_URL = BuildConfig.BASE_URL
+
//获取版本
const val VERSION = BASE_URL + "app/version"
}
@@ -37,21 +39,37 @@ interface Api {
* 是否需要验证码登录
* @return Observable>
*/
- @GET(BASE_URL+"devApi/code")
+ @GET(BASE_URL + "devApi/code")
fun getCode(): Observable>
/**
* 是否需要验证码登录
* @return Observable>
*/
- @POST(BASE_URL+"devApi/auth/login")
+ @POST(BASE_URL + "devApi/auth/login")
fun login(@Body bean: LoginBean): Observable>
- @GET(BASE_URL+"devApi/business/shipper/order/list")
- fun getOrderList(): Observable>
+ @GET(BASE_URL + "devApi/business/shipper/order/list")
+ fun getOrderList(): Observable>>
- @PUT(BASE_URL+"devApi/business/shipper/order/cancelSourceOfOrder")
+ @PUT(BASE_URL + "devApi/business/shipper/order/cancelSourceOfOrder")
fun cancelSourceOfOrder(@Body bean: TextOrder): Observable>
+ /**
+ * 查询车辆信息列表
+ */
+ @GET(BASE_URL + "devApi/business/ft/common/dict/driver/all")
+ fun getCarList(@Query("searchValue") searchValue: String): Observable>>
+
+
+ /**
+ * 货主指派车辆
+ * @param bean DispatchBean
+ * @return Observable>
+ */
+ @POST(BASE_URL+"devApi/business/shipper/order/dispatchVehicles")
+ fun dispatchVehicles(@Body bean: DispatchBean): Observable>
+
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/dhsd/glowner/ui/home/HomeFragment.kt b/app/src/main/java/com/dhsd/glowner/ui/home/HomeFragment.kt
index 177d4a8..e7ac5c5 100644
--- a/app/src/main/java/com/dhsd/glowner/ui/home/HomeFragment.kt
+++ b/app/src/main/java/com/dhsd/glowner/ui/home/HomeFragment.kt
@@ -3,11 +3,18 @@ package com.dhsd.glowner.ui.home
import BaseObserver
import DataManager
import RxHttpCallBack
+import android.app.Activity
+import android.content.Intent
import android.graphics.Color
+import android.os.Bundle
import android.widget.LinearLayout
+import androidx.activity.result.ActivityResultRegistry
+import androidx.activity.result.contract.ActivityResultContracts
+import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.chad.library.adapter4.BaseQuickAdapter
+import com.dahe.gldriver.base.AppConfig
import com.dahe.glex.bean.OrderBean
import com.dahe.glex.bean.OrderListBean
import com.dahe.glex.bean.TextOrder
@@ -25,6 +32,7 @@ import com.dhsd.glowner.bean.PopBean
import com.dhsd.glowner.cuspop.OnCarSelectListener
import com.dhsd.glowner.databinding.FragmentHomeBinding
import com.dhsd.glowner.ui.home.activtiy.SendGoodsActivity
+import com.dhsd.glowner.ui.mine.activity.ChoiceCarActivity
import com.dhsd.glowner.utils.CommonPopUtils
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
@@ -36,6 +44,15 @@ import io.reactivex.rxjava3.schedulers.Schedulers
* @Description TODO
*/
class HomeFragment : BaseFragment(), RefreshCallBack {
+
+ private val launcher =
+ registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
+ if (result.resultCode == AppCompatActivity.RESULT_OK) {
+ initData()
+ }
+ }
+
+
lateinit var adapter: WaybillAdapter
override fun onFragmentVisibleChange(isVisible: Boolean) {
if (isVisible) {
@@ -49,11 +66,11 @@ class HomeFragment : BaseFragment(), RefreshCallBack {
binding.tvMar.isSelected = true
binding.ivNor.setOnClickListener {
- ActivityUtils.startActivity(mContext,SendGoodsActivity::class.java)
+ ActivityUtils.startActivity(mContext, SendGoodsActivity::class.java)
}
binding.ivNor.setOnClickListener {
- ActivityUtils.startActivity(mContext,SendGoodsActivity::class.java)
+ ActivityUtils.startActivity(mContext, SendGoodsActivity::class.java)
}
initData()
@@ -66,16 +83,6 @@ class HomeFragment : BaseFragment(), RefreshCallBack {
private fun initRecy() {
setRefresh(binding.refresh, this)
- var datas = mutableListOf(
- WayBillBean(),
- WayBillBean(),
- WayBillBean(),
- WayBillBean(),
- WayBillBean(),
- WayBillBean(),
- WayBillBean(),
- WayBillBean()
- )
adapter = binding.recyclerView.run {
layoutManager = LinearLayoutManager(mContext, RecyclerView.VERTICAL, false)
setHasFixedSize(true)
@@ -92,20 +99,26 @@ class HomeFragment : BaseFragment(), RefreshCallBack {
setOnItemClickListener { _, _, position ->
ToastUtils.showToast(mContext, position.toString())
}
- addOnItemChildClickListener(R.id.btnOk) { adapter, view, position ->
+ addOnItemChildClickListener(R.id.btnOk) { adapter, _, position ->
// ActivityUtils.startActivity(mContext, WaybillDetailActivity::class.java)
- CommonPopUtils.getInstance().showCarList(mContext
+ val item = adapter.getItem(position)
+ CommonPopUtils.getInstance().showCarList(
+ mContext
) { _, position ->
-
- showToast(position.toString())
+ if (position === 0) {
+ launcher.launch(Intent(mContext, ChoiceCarActivity::class.java).apply {
+ putExtras(Bundle().apply { putString(AppConfig.ID, item?.orderId) })
+ })
+ }
}
}
addOnItemChildClickListener(R.id.btnCancel) { adapter, view, position ->
val item = adapter.getItem(position) as OrderBean
- DataManager.getInstance().cancelSourceOfOrder(TextOrder(item.orderId)).subscribeOn(Schedulers.io())
+ DataManager.getInstance().cancelSourceOfOrder(TextOrder(item.orderId))
+ .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .subscribe(BaseObserver(mContext,object : RxHttpCallBack(){
+ .subscribe(BaseObserver(mContext, object : RxHttpCallBack() {
override fun onSuccess(t: CommonResponseBean) {
super.onSuccess(t)
showToast(t.msg)
@@ -121,23 +134,27 @@ class HomeFragment : BaseFragment(), RefreshCallBack {
DataManager.getInstance().getOrderList()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .subscribe(BaseObserver(mContext,object :RxHttpCallBack(binding.refresh){
- override fun onSuccess(t: CommonResponseBean) {
- super.onSuccess(t)
- initList(t.data.rows)
- }
+ .subscribe(
+ BaseObserver(mContext,
+ object : RxHttpCallBack>(binding.refresh) {
+ override fun onSuccess(t: CommonResponseBean>) {
+ super.onSuccess(t)
+ initList(t.data.rows)
+ }
- }))
+ })
+ )
}
private fun initList(rows: List) {
- if (rows.isEmpty()){
+ if (rows.isEmpty()) {
+ adapter.submitList(null)
adapter.setStateViewLayout(mContext, R.layout.empty_view)
- }else{
- if (mRefreshPage===1){
+ } else {
+ if (mRefreshPage === 1) {
adapter?.submitList(rows)
- }else{
+ } else {
adapter?.addAll(rows)
}
}
diff --git a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceCarActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceCarActivity.kt
new file mode 100644
index 0000000..e89eca9
--- /dev/null
+++ b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceCarActivity.kt
@@ -0,0 +1,169 @@
+package com.dhsd.glowner.ui.mine.activity
+
+import BaseObserver
+import DataManager
+import RxHttpCallBack
+import android.content.Intent
+import android.graphics.Color
+import android.os.Bundle
+import android.view.View
+import android.widget.AdapterView.OnItemClickListener
+import android.widget.LinearLayout
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.widget.addTextChangedListener
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.chad.library.adapter4.BaseQuickAdapter
+import com.dahe.gldriver.base.AppConfig
+import com.dahe.glex.bean.DispatchBean
+import com.dahe.glex.bean.OrderBean
+import com.dahe.glex.bean.OrderListBean
+import com.dahe.mylibrary.base.BaseActivity
+import com.dahe.mylibrary.net.CommonResponseBean
+import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider
+import com.dahe.mylibrary.utils.ConvertUtils
+import com.dahe.mylibrary.utils.ToastUtils
+import com.dhsd.glowner.R
+import com.dhsd.glowner.adapter.DriverCarsAdapter
+import com.dhsd.glowner.bean.CarBean
+import com.dhsd.glowner.databinding.ActivityChoiceCarBinding
+import com.dhsd.glowner.utils.OnLimitClickHelper
+import com.dhsd.glowner.utils.OnLimitClickListener
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
+import io.reactivex.rxjava3.schedulers.Schedulers
+
+/**
+ * @ClassName ChoiceCarActivity
+ * @Author john
+ * @Date 2024/10/24 10:17
+ * @Description 选择车辆
+ */
+class ChoiceCarActivity : BaseActivity(), OnLimitClickListener {
+
+ lateinit var adapter: DriverCarsAdapter
+ var searchValue: String = ""
+ private var orderId: String = ""
+ private var selectCar: CarBean? = null
+ override fun initView(savedInstanceState: Bundle?) {
+ setStatusBarColor(R.color.white)
+ setTitleBar("选择车辆", View.OnClickListener { finish() }, true, "我的熟车") {
+ ToastUtils.showToast(mContext, "查看单据")
+ }
+
+ orderId = intent.extras?.getString(AppConfig.ID).toString()
+ binding.recycler.run {
+
+ this@ChoiceCarActivity.adapter = run {
+ layoutManager = LinearLayoutManager(mContext, RecyclerView.VERTICAL, false)
+ addItemDecoration(
+ RecycleViewDivider(
+ LinearLayout.VERTICAL,
+ ConvertUtils.dp2px(12.0f),
+ Color.TRANSPARENT
+ )
+ )
+ adapter = DriverCarsAdapter()
+ adapter as DriverCarsAdapter
+ }.apply {
+ isStateViewEnable = true
+ submitList(null)
+ setStateViewLayout(mContext, R.layout.empty_view)
+ setOnItemClickListener { adapter, _, position ->
+ adapter.items.find { it.isSelect }?.isSelect = false
+ adapter.getItem(position)?.isSelect = true
+ selectCar = adapter.getItem(position)
+
+ notifyDataSetChanged()
+
+ }
+ }
+ }
+ binding.etInput.addTextChangedListener {
+ val text = it.toString()
+ if (text.isNotEmpty()) {
+ searchValue = text
+ getCarList()
+ } else {
+ searchValue = ""
+ }
+ }
+
+ binding.btnOk.setOnClickListener(OnLimitClickHelper(this))
+ }
+
+ override fun initDate() {
+
+ }
+
+ override fun onClick(view: View?) {
+ super.onClick(view)
+ when (view?.id) {
+ binding.btnOk.id -> {
+ dispatchVehicles()
+ }
+ }
+ }
+
+ private fun getCarList() {
+ DataManager.getInstance().getCarList(searchValue)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(BaseObserver(mContext, object : RxHttpCallBack>() {
+ override fun onSuccess(t: CommonResponseBean>) {
+ super.onSuccess(t)
+ initList(t.data)
+ }
+ }))
+ }
+
+
+ private fun initList(rows: List) {
+ if (rows.isEmpty()) {
+ adapter.submitList(null)
+ adapter.setStateViewLayout(mContext, R.layout.empty_view)
+ } else {
+ if (mRefreshPage === 1) {
+ adapter?.submitList(rows)
+ } else {
+ adapter?.addAll(rows)
+ }
+ }
+ }
+
+
+ /**
+ * 分配车辆
+ */
+ private fun dispatchVehicles() {
+ if (orderId.isEmpty())
+ return
+
+
+
+
+
+ if (selectCar == null) {
+ showToast("请选择车辆")
+ return
+ }
+ DataManager.getInstance().dispatchVehicles(
+ DispatchBean(
+ orderId,
+ "",
+ selectCar?.driverId.toString(),
+ selectCar?.carId.toString()
+ )
+ )
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(BaseObserver(mContext, object : RxHttpCallBack() {
+ override fun onSuccess(t: CommonResponseBean) {
+ super.onSuccess(t)
+ showToast(t.msg)
+ // 设置返回结果
+ setResult(AppCompatActivity.RESULT_OK, Intent())
+ finish()
+ }
+ }))
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetActivity.kt b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetActivity.kt
new file mode 100644
index 0000000..b57d6cb
--- /dev/null
+++ b/app/src/main/java/com/dhsd/glowner/ui/mine/activity/ChoiceFleetActivity.kt
@@ -0,0 +1,21 @@
+package com.dhsd.glowner.ui.mine.activity
+
+import android.os.Bundle
+import com.dahe.mylibrary.base.BaseActivity
+import com.dhsd.glowner.databinding.ActivityChoiceFleetCarBinding
+
+/**
+ * @ClassName ChoiceFleetActivity
+ * @Author john
+ * @Date 2024/10/24 16:02
+ * @Description 选择车队/车辆
+ */
+class ChoiceFleetActivity : BaseActivity() {
+ override fun initView(savedInstanceState: Bundle?) {
+ TODO("Not yet implemented")
+ }
+
+ override fun initDate() {
+ TODO("Not yet implemented")
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable-xxhdpi/search_icon_white.png b/app/src/main/res/drawable-xxhdpi/search_icon_white.png
new file mode 100644
index 0000000..bcebbfc
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/search_icon_white.png differ
diff --git a/app/src/main/res/drawable/select_choice_car_bg.xml b/app/src/main/res/drawable/select_choice_car_bg.xml
new file mode 100644
index 0000000..9243123
--- /dev/null
+++ b/app/src/main/res/drawable/select_choice_car_bg.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_discar_8.xml b/app/src/main/res/drawable/shape_discar_8.xml
new file mode 100644
index 0000000..305ee27
--- /dev/null
+++ b/app/src/main/res/drawable/shape_discar_8.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_gray_bg20.xml b/app/src/main/res/drawable/shape_gray_bg20.xml
new file mode 100644
index 0000000..085b019
--- /dev/null
+++ b/app/src/main/res/drawable/shape_gray_bg20.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_choice_car.xml b/app/src/main/res/layout/activity_choice_car.xml
new file mode 100644
index 0000000..11b11a1
--- /dev/null
+++ b/app/src/main/res/layout/activity_choice_car.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_choice_fleet_car.xml b/app/src/main/res/layout/activity_choice_fleet_car.xml
new file mode 100644
index 0000000..11b11a1
--- /dev/null
+++ b/app/src/main/res/layout/activity_choice_fleet_car.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_driver_cars.xml b/app/src/main/res/layout/item_driver_cars.xml
new file mode 100644
index 0000000..ced996f
--- /dev/null
+++ b/app/src/main/res/layout/item_driver_cars.xml
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mylibrary/src/main/java/com/dahe/mylibrary/base/BaseActivity.java b/mylibrary/src/main/java/com/dahe/mylibrary/base/BaseActivity.java
index 29ba5a9..7dc0199 100644
--- a/mylibrary/src/main/java/com/dahe/mylibrary/base/BaseActivity.java
+++ b/mylibrary/src/main/java/com/dahe/mylibrary/base/BaseActivity.java
@@ -185,7 +185,7 @@ public abstract class BaseActivity extends AppCompatActi
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
protected void setTitleBar(String title, View.OnClickListener listener, boolean isVisible, String right, View.OnClickListener rightListener) {
mToolbar = (Toolbar) findViewById(R.id.common_toolbar);
- mToolbar.setBackgroundColor(Color.TRANSPARENT);
+ mToolbar.setBackgroundColor(statusColor == -1 ? Color.TRANSPARENT : ContextCompat.getColor(mContext, statusColor));
if (!TextUtils.isEmpty(title))
((TextView) findViewById(R.id.common_toolBar_title)).setText(title);
TextView mTextRight = (TextView) findViewById(R.id.common_toolBar_text_right);
diff --git a/mylibrary/src/main/java/com/dahe/mylibrary/recycleviewswipe/RecycleViewDivider.java b/mylibrary/src/main/java/com/dahe/mylibrary/recycleviewswipe/RecycleViewDivider.java
index 77bb594..4d38aa2 100644
--- a/mylibrary/src/main/java/com/dahe/mylibrary/recycleviewswipe/RecycleViewDivider.java
+++ b/mylibrary/src/main/java/com/dahe/mylibrary/recycleviewswipe/RecycleViewDivider.java
@@ -25,15 +25,14 @@ public class RecycleViewDivider extends RecyclerView.ItemDecoration {
private static final int[] ATTRS = new int[]{android.R.attr.listDivider};
/**
- *
* 默认分割线:高度为2px,颜色为灰色
* 获取属性值,
*
* @param context
- * @param orientation 列表方向
+ * @param orientation 列表方向
*/
- public RecycleViewDivider(Context context, int orientation){
+ public RecycleViewDivider(Context context, int orientation) {
if (orientation != LinearLayoutManager.VERTICAL && orientation != LinearLayoutManager.HORIZONTAL) {
throw new IllegalArgumentException("请输入正确的参数!");
}
@@ -88,7 +87,11 @@ public class RecycleViewDivider extends RecyclerView.ItemDecoration {
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
if (mOrientation == LinearLayoutManager.VERTICAL) {
- outRect.set(0, 0, 0, mDividerHeight);
+ if (parent.getChildAdapterPosition(view) == 0) {
+ outRect.set(0, mDividerHeight, 0, mDividerHeight);
+ } else {
+ outRect.set(0, 0, 0, mDividerHeight);
+ }
} else {
outRect.set(0, 0, mDividerHeight, 0);
}
@@ -97,10 +100,10 @@ public class RecycleViewDivider extends RecyclerView.ItemDecoration {
@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
super.onDraw(c, parent, state);
- if(mOrientation==LinearLayoutManager.VERTICAL){
- drawVerticalLine(c,parent);
- }else{
- drawHorizontalLine(c,parent);
+ if (mOrientation == LinearLayoutManager.VERTICAL) {
+ drawVerticalLine(c, parent);
+ } else {
+ drawHorizontalLine(c, parent);
}
}
@@ -111,7 +114,7 @@ public class RecycleViewDivider extends RecyclerView.ItemDecoration {
final int bottom = parent.getMeasuredHeight() - parent.getPaddingBottom();
final int childSize = parent.getChildCount();
for (int i = 0; i < childSize - 1; i++) {
- if ((i+1) % 3 != 0) {
+ if ((i + 1) % 3 != 0) {
final View child = parent.getChildAt(i);
RecyclerView.LayoutParams layoutParams = (RecyclerView.LayoutParams) child.getLayoutParams();
final int left = child.getRight() + layoutParams.rightMargin;
@@ -134,7 +137,7 @@ public class RecycleViewDivider extends RecyclerView.ItemDecoration {
final int right = parent.getMeasuredWidth() - parent.getPaddingRight();
final int childSize = parent.getChildCount();
for (int i = 0; i < childSize; i++) {
- if (i < childSize -1) {
+ if (i < childSize - 1) {
final View child = parent.getChildAt(i);
RecyclerView.LayoutParams layoutParams = (RecyclerView.LayoutParams) child.getLayoutParams();
final int top = child.getBottom() + layoutParams.bottomMargin;
diff --git a/mylibrary/src/main/res/values/colors.xml b/mylibrary/src/main/res/values/colors.xml
index 0e6f231..9a32e1d 100644
--- a/mylibrary/src/main/res/values/colors.xml
+++ b/mylibrary/src/main/res/values/colors.xml
@@ -18,6 +18,7 @@
#F5F5F5
+ #F3F3F5
#E1E1E1
#000000
#E6E6E6