Commit 3045399f authored by yinjiacheng's avatar yinjiacheng

add 自提点搜索逻辑

parent a520beb8
...@@ -15,4 +15,16 @@ object IntentConstants { ...@@ -15,4 +15,16 @@ object IntentConstants {
// 订单id // 订单id
const val KEY_EXTRA_ORDER_ID = "orderId" const val KEY_EXTRA_ORDER_ID = "orderId"
// 活动id
const val KEY_EXTRA_MARKETING_ID = "marketingId"
// 经度
const val KEY_EXTRA_LONGITUDE = "longitude"
// 纬度
const val KEY_EXTRA_LATITUDE = "latitude"
// 自提点id
const val KEY_EXTRA_PICKUP_POINT_ID = "pickupPointId"
} }
...@@ -26,5 +26,9 @@ class XEventConfig { ...@@ -26,5 +26,9 @@ class XEventConfig {
const val CONFIRM_ORDER_CHOOSE_POINT_SUCCESS = "confirm_order_choose_point_success" const val CONFIRM_ORDER_CHOOSE_POINT_SUCCESS = "confirm_order_choose_point_success"
// 确认订单选择优惠券成功 // 确认订单选择优惠券成功
const val CONFIRM_ORDER_CHOOSE_COUPON_SUCCESS = "confirm_order_choose_coupon_success" const val CONFIRM_ORDER_CHOOSE_COUPON_SUCCESS = "confirm_order_choose_coupon_success"
// 取消搜索自提点
const val SEARCH_PICKUP_POINT_CANCEL = "search_pickup_point_cancel"
// 开始搜索自提点
const val SEARCH_PICKUP_POINT_START = "search_pickup_point_start"
} }
} }
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
android:name="com.yidian.shenghuoquan.border.ui.ConfirmOrderActivity" android:name="com.yidian.shenghuoquan.border.ui.ConfirmOrderActivity"
android:windowSoftInputMode="adjustPan" /> android:windowSoftInputMode="adjustPan" />
<activity android:name="com.yidian.shenghuoquan.border.ui.OrderDetailActivity" /> <activity android:name="com.yidian.shenghuoquan.border.ui.OrderDetailActivity" />
<activity android:name="com.yidian.shenghuoquan.border.ui.SelectPickupPointActivity" />
</application> </application>
</manifest> </manifest>
\ No newline at end of file
...@@ -8,6 +8,7 @@ import androidx.databinding.DataBindingUtil ...@@ -8,6 +8,7 @@ import androidx.databinding.DataBindingUtil
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.yidian.shenghuoquan.border.R import com.yidian.shenghuoquan.border.R
import com.yidian.shenghuoquan.border.databinding.BorderItemPickupPointListBinding import com.yidian.shenghuoquan.border.databinding.BorderItemPickupPointListBinding
import com.yidian.shenghuoquan.border.dto.PickupPoint
import com.yidian.shenghuoquan.border.viewmodel.PickupPointListItemViewModel import com.yidian.shenghuoquan.border.viewmodel.PickupPointListItemViewModel
import com.yidian.utils.DensityUtil import com.yidian.utils.DensityUtil
...@@ -16,7 +17,35 @@ import com.yidian.utils.DensityUtil ...@@ -16,7 +17,35 @@ import com.yidian.utils.DensityUtil
* date: 2021/8/24 16:57 * date: 2021/8/24 16:57
* description: 自提点列表 * description: 自提点列表
*/ */
class PickupPointListAdapter : RecyclerView.Adapter<PickupPointListAdapter.PickupPointListViewHolder>() { class PickupPointListAdapter(data: List<PickupPoint>?) : RecyclerView.Adapter<PickupPointListAdapter.PickupPointListViewHolder>() {
private val data by lazy { ArrayList<PickupPoint>() }
private var curSelectId = 0L
init {
data?.let {
this.data.addAll(it)
}
}
/**
* 更新数据
*/
fun updateData(data: List<PickupPoint>?) {
data?.let {
notifyItemRangeRemoved(0, this.data.size)
this.data.clear()
this.data.addAll(it)
notifyItemRangeInserted(0, this.data.size)
}
}
/**
* 设置当前选中的自提点id 默认0
*/
fun setSelectedId(id: Long?) {
curSelectId = id ?: 0
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PickupPointListViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PickupPointListViewHolder {
val binding = DataBindingUtil.inflate<BorderItemPickupPointListBinding>( val binding = DataBindingUtil.inflate<BorderItemPickupPointListBinding>(
...@@ -30,10 +59,12 @@ class PickupPointListAdapter : RecyclerView.Adapter<PickupPointListAdapter.Picku ...@@ -30,10 +59,12 @@ class PickupPointListAdapter : RecyclerView.Adapter<PickupPointListAdapter.Picku
override fun onBindViewHolder(holder: PickupPointListViewHolder, position: Int) { override fun onBindViewHolder(holder: PickupPointListViewHolder, position: Int) {
holder.binding.vm = PickupPointListItemViewModel() holder.binding.vm = PickupPointListItemViewModel()
holder.binding.data = data[position]
holder.binding.selectedId = curSelectId
} }
override fun getItemCount(): Int { override fun getItemCount(): Int {
return 0 return data.size
} }
class PickupPointListViewHolder(itemView: View, val binding: BorderItemPickupPointListBinding) : RecyclerView.ViewHolder(itemView) class PickupPointListViewHolder(itemView: View, val binding: BorderItemPickupPointListBinding) : RecyclerView.ViewHolder(itemView)
......
...@@ -3,6 +3,7 @@ package com.yidian.shenghuoquan.border.app ...@@ -3,6 +3,7 @@ package com.yidian.shenghuoquan.border.app
import com.yidian.bcommon.constant.XRouterPathConstants import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.shenghuoquan.border.ui.ConfirmOrderActivity import com.yidian.shenghuoquan.border.ui.ConfirmOrderActivity
import com.yidian.shenghuoquan.border.ui.OrderDetailActivity import com.yidian.shenghuoquan.border.ui.OrderDetailActivity
import com.yidian.shenghuoquan.border.ui.SelectPickupPointActivity
/** /**
...@@ -13,6 +14,7 @@ object ClassMapUtil { ...@@ -13,6 +14,7 @@ object ClassMapUtil {
val xPageNodeMap = mapOf( val xPageNodeMap = mapOf(
XRouterPathConstants.Companion.CONFIRM_ORDER_ACTIVITY to ConfirmOrderActivity::class.java, // 确认订单 XRouterPathConstants.Companion.CONFIRM_ORDER_ACTIVITY to ConfirmOrderActivity::class.java, // 确认订单
XRouterPathConstants.Companion.ORDER_DETAIL_ACTIVITY to OrderDetailActivity::class.java, // 订单详情 XRouterPathConstants.Companion.ORDER_DETAIL_ACTIVITY to OrderDetailActivity::class.java, // 订单详情
XRouterPathConstants.Companion.PICKUP_POINT_ACTIVITY to SelectPickupPointActivity::class.java, // 选择自提点
) )
} }
...@@ -45,7 +45,7 @@ data class PickupPoint( ...@@ -45,7 +45,7 @@ data class PickupPoint(
@SerializedName("province") // 省 @SerializedName("province") // 省
val province: String, val province: String,
@SerializedName("take_place_id") // 自提点id @SerializedName("take_place_id") // 自提点id
val takePlaceId: Int, val takePlaceId: Long,
@SerializedName("take_place_name") // 自提点名称 @SerializedName("take_place_name") // 自提点名称
val takePlaceName: String, val takePlaceName: String,
@SerializedName("update_time") @SerializedName("update_time")
......
package com.yidian.shenghuoquan.border.ui package com.yidian.shenghuoquan.border.ui
import android.os.Bundle
import androidx.activity.viewModels import androidx.activity.viewModels
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.yidian.bcommon.constant.IntentConstants
import com.yidian.bcommon.constant.XEventConfig
import com.yidian.bcommon.constant.XRouterPathConstants import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.mvvm.BaseMvvmActivity import com.yidian.bcommon.mvvm.BaseMvvmActivity
import com.yidian.shenghuoquan.border.R import com.yidian.shenghuoquan.border.R
import com.yidian.shenghuoquan.border.adapter.PickupPointListAdapter import com.yidian.shenghuoquan.border.adapter.PickupPointListAdapter
import com.yidian.shenghuoquan.border.databinding.BorderActivitySelectPickupPointBinding import com.yidian.shenghuoquan.border.databinding.BorderActivitySelectPickupPointBinding
import com.yidian.shenghuoquan.border.viewmodel.SelectPickupPointViewModel import com.yidian.shenghuoquan.border.viewmodel.SelectPickupPointViewModel
import com.yidian.xarc.xevent.XBaseEvent
import com.yidian.xarc.xevent.XEventManager
import com.yidian.xpage.XPageViewProtocol import com.yidian.xpage.XPageViewProtocol
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
/** /**
* author: yinjiacheng * author: yinjiacheng
...@@ -20,14 +27,31 @@ class SelectPickupPointActivity : BaseMvvmActivity<BorderActivitySelectPickupPoi ...@@ -20,14 +27,31 @@ class SelectPickupPointActivity : BaseMvvmActivity<BorderActivitySelectPickupPoi
override val layoutId = R.layout.border_activity_select_pickup_point override val layoutId = R.layout.border_activity_select_pickup_point
override val vm: SelectPickupPointViewModel by viewModels() override val vm: SelectPickupPointViewModel by viewModels()
private val adapter by lazy { PickupPointListAdapter() } private val adapter by lazy { PickupPointListAdapter(null) }
private val params by lazy {
intent.getSerializableExtra(XRouterPathConstants.ParamsKey)?.let {
it as HashMap<*, *>
}
}
override fun getXPageName(): String { override fun getXPageName(): String {
return XRouterPathConstants.PICKUP_POINT_ACTIVITY return XRouterPathConstants.PICKUP_POINT_ACTIVITY
} }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
XEventManager.register(this)
}
override fun onDestroy() {
super.onDestroy()
XEventManager.unRegister(this)
}
override fun initView() { override fun initView() {
initRecyclerView() initRecyclerView()
registerUIEvent()
requestPickupPoint(null)
} }
private fun initRecyclerView() { private fun initRecyclerView() {
...@@ -35,4 +59,41 @@ class SelectPickupPointActivity : BaseMvvmActivity<BorderActivitySelectPickupPoi ...@@ -35,4 +59,41 @@ class SelectPickupPointActivity : BaseMvvmActivity<BorderActivitySelectPickupPoi
binding.rvPickupPointList.layoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false) binding.rvPickupPointList.layoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)
binding.rvPickupPointList.addItemDecoration(PickupPointListAdapter.PickupPointListItemDecoration()) binding.rvPickupPointList.addItemDecoration(PickupPointListAdapter.PickupPointListItemDecoration())
} }
/**
* 注册UI事件监听
*/
private fun registerUIEvent() {
vm.pickupPointListData.observe(this, {
// 标记当前选中的自提点
adapter.setSelectedId(params?.get(IntentConstants.KEY_EXTRA_PICKUP_POINT_ID)?.let { id -> id as Long })
adapter.updateData(it.list)
})
}
/**
* 请求附近自提点
*/
private fun requestPickupPoint(keyWords: String?) {
vm.requestPickupPointList(
params?.get(IntentConstants.KEY_EXTRA_MARKETING_ID) as String,
params?.get(IntentConstants.KEY_EXTRA_LONGITUDE)?.let { it as Double },
params?.get(IntentConstants.KEY_EXTRA_LATITUDE)?.let { it as Double },
keyWords
)
}
@Subscribe(sticky = false, threadMode = ThreadMode.MAIN)
fun onEvent(event: XBaseEvent?) {
when (event?.name) {
XEventConfig.SEARCH_PICKUP_POINT_CANCEL -> {
// 取消搜索自提点 请求附近自提点
requestPickupPoint(null)
}
XEventConfig.SEARCH_PICKUP_POINT_START -> {
// 开始搜索自提点
requestPickupPoint(event.body as String)
}
}
}
} }
...@@ -4,12 +4,16 @@ import android.content.Context ...@@ -4,12 +4,16 @@ import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.inputmethod.EditorInfo import android.view.inputmethod.EditorInfo
import android.view.inputmethod.InputMethodManager
import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintLayout
import androidx.databinding.DataBindingUtil import androidx.databinding.DataBindingUtil
import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.LifecycleOwner
import com.yidian.bcommon.constant.XEventConfig
import com.yidian.shenghuoquan.border.R import com.yidian.shenghuoquan.border.R
import com.yidian.shenghuoquan.border.databinding.BorderViewPickupPointSearchBinding import com.yidian.shenghuoquan.border.databinding.BorderViewPickupPointSearchBinding
import com.yidian.shenghuoquan.border.viewmodel.PickupPointSearchViewModel import com.yidian.shenghuoquan.border.viewmodel.PickupPointSearchViewModel
import com.yidian.xarc.xevent.XBaseEvent
import com.yidian.xarc.xevent.XEventManager
/** /**
* author: yinjiacheng * author: yinjiacheng
...@@ -34,11 +38,15 @@ class PickupPointSearchView @JvmOverloads constructor(context: Context, attrs: A ...@@ -34,11 +38,15 @@ class PickupPointSearchView @JvmOverloads constructor(context: Context, attrs: A
} }
private fun initView() { private fun initView() {
binding.etSearch.setOnEditorActionListener { v, actionId, event -> binding.etSearch.setOnEditorActionListener { v, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_SEARCH) { if (actionId == EditorInfo.IME_ACTION_SEARCH) {
// TODO: 2021/8/24 请求搜索自提点 // 隐藏软键盘
val imm = context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(windowToken, 0)
// 通知开始搜索
XEventManager.post(XBaseEvent(XEventConfig.SEARCH_PICKUP_POINT_START, v.text.toString()))
} }
false true
} }
} }
...@@ -49,6 +57,8 @@ class PickupPointSearchView @JvmOverloads constructor(context: Context, attrs: A ...@@ -49,6 +57,8 @@ class PickupPointSearchView @JvmOverloads constructor(context: Context, attrs: A
vm.clearSearch.observe(context as LifecycleOwner, { vm.clearSearch.observe(context as LifecycleOwner, {
// 清空搜索框 // 清空搜索框
binding.etSearch.setText("") binding.etSearch.setText("")
// 通知取消搜索
XEventManager.post(XBaseEvent(XEventConfig.SEARCH_PICKUP_POINT_CANCEL, null))
}) })
} }
} }
package com.yidian.shenghuoquan.border.viewmodel package com.yidian.shenghuoquan.border.viewmodel
import android.view.View
import android.view.ViewGroup
import androidx.core.view.MarginLayoutParamsCompat
import androidx.databinding.BindingAdapter
import com.yidian.bcommon.constant.XEventConfig
import com.yidian.bcommon.mvvm.BaseViewModel import com.yidian.bcommon.mvvm.BaseViewModel
import com.yidian.shenghuoquan.border.dto.PickupPoint
import com.yidian.utils.DensityUtil
import com.yidian.xarc.xevent.XBaseEvent
import com.yidian.xarc.xevent.XEventManager
import com.yidian.xpage.XPageManager
/** /**
* author: yinjiacheng * author: yinjiacheng
...@@ -8,4 +18,20 @@ import com.yidian.bcommon.mvvm.BaseViewModel ...@@ -8,4 +18,20 @@ import com.yidian.bcommon.mvvm.BaseViewModel
* description: 自提点列表 * description: 自提点列表
*/ */
class PickupPointListItemViewModel : BaseViewModel() { class PickupPointListItemViewModel : BaseViewModel() {
companion object {
@JvmStatic
@BindingAdapter("layout_marginStart")
fun setMarginStart(view: View, margin: Int) {
MarginLayoutParamsCompat.setMarginStart(view.layoutParams as ViewGroup.MarginLayoutParams, DensityUtil.dp2px(margin.toFloat()))
}
}
/**
* 回传选择的自提点
*/
fun selectPickupPoint(data: PickupPoint) {
XEventManager.post(XBaseEvent(XEventConfig.CONFIRM_ORDER_CHOOSE_POINT_SUCCESS, data))
XPageManager.pop(null)
}
} }
...@@ -20,6 +20,5 @@ class PickupPointSearchViewModel : BaseViewModel() { ...@@ -20,6 +20,5 @@ class PickupPointSearchViewModel : BaseViewModel() {
*/ */
fun clearSearch() { fun clearSearch() {
_clearSearch.value = Unit _clearSearch.value = Unit
// TODO: 2021/8/24 请求附近自提点
} }
} }
package com.yidian.shenghuoquan.border.viewmodel package com.yidian.shenghuoquan.border.viewmodel
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.yidian.bcommon.mvvm.BaseViewModel import com.yidian.bcommon.mvvm.BaseViewModel
import com.yidian.shenghuoquan.border.dto.PickupPointListDto
import com.yidian.shenghuoquan.border.http.OrderRemoteDataSource
import com.yidian.shenghuoquan.border.http.callback.IGetPickupPointListCallback
/** /**
* author: yinjiacheng * author: yinjiacheng
...@@ -9,4 +14,32 @@ import com.yidian.bcommon.mvvm.BaseViewModel ...@@ -9,4 +14,32 @@ import com.yidian.bcommon.mvvm.BaseViewModel
*/ */
class SelectPickupPointViewModel : BaseViewModel() { class SelectPickupPointViewModel : BaseViewModel() {
private val _pickupPointListData = MutableLiveData<PickupPointListDto>()
val pickupPointListData: LiveData<PickupPointListDto> = _pickupPointListData
/**
* 请求自提点列表
*/
fun requestPickupPointList(marketingId: String, longitude: Double?, latitude: Double?, keyWords: String?) {
val requestParams = HashMap<String, String?>(6)
requestParams["marketing_id"] = marketingId
longitude?.let { requestParams["longitude"] = it.toString() }
latitude?.let { requestParams["latitude"] = it.toString() }
if (keyWords?.isNotEmpty() == true) requestParams["keywords"] = keyWords
requestParams["page"] = "1"
requestParams["limit"] = "20"
OrderRemoteDataSource.getPickupPointList(
object : IGetPickupPointListCallback {
override fun getPickupPointListSuccess(result: PickupPointListDto?) {
result?.let { _pickupPointListData.value = it }
}
override fun getPickupPointListFailure(message: String?) {
}
}, requestParams
)
}
} }
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:CommonTopBarView_back_img="@drawable/icon_back_white" app:CommonTopBarView_back_img="@drawable/icon_back_white"
app:CommonTopBarView_bg_color="@color/color_F6775B" app:CommonTopBarView_bg_color="@color/color_FD7823"
app:CommonTopBarView_title_text="@string/order_detail" app:CommonTopBarView_title_text="@string/order_detail"
app:CommonTopBarView_title_text_color="@color/white" app:CommonTopBarView_title_text_color="@color/white"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:CommonTopBarView_back_img="@drawable/icon_back_white" app:CommonTopBarView_back_img="@drawable/icon_back_white"
app:CommonTopBarView_bg_color="@color/color_F6775B" app:CommonTopBarView_bg_color="@color/color_FD7823"
app:CommonTopBarView_title_text="@string/select_pickup_point" app:CommonTopBarView_title_text="@string/select_pickup_point"
app:CommonTopBarView_title_text_color="@color/white" app:CommonTopBarView_title_text_color="@color/white"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
...@@ -54,6 +54,7 @@ ...@@ -54,6 +54,7 @@
android:layout_marginTop="@dimen/dp20" android:layout_marginTop="@dimen/dp20"
android:layout_marginEnd="@dimen/dp16" android:layout_marginEnd="@dimen/dp16"
android:layout_marginBottom="@dimen/dp20" android:layout_marginBottom="@dimen/dp20"
android:background="@drawable/shape_solid_ffffff_corner_20"
android:paddingStart="@dimen/dp16" android:paddingStart="@dimen/dp16"
android:paddingEnd="@dimen/dp16" android:paddingEnd="@dimen/dp16"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
......
...@@ -5,20 +5,32 @@ ...@@ -5,20 +5,32 @@
<data> <data>
<import type="android.view.View" />
<variable <variable
name="vm" name="vm"
type="com.yidian.shenghuoquan.border.viewmodel.PickupPointListItemViewModel" /> type="com.yidian.shenghuoquan.border.viewmodel.PickupPointListItemViewModel" />
<variable
name="data"
type="com.yidian.shenghuoquan.border.dto.PickupPoint" />
<variable
name="selectedId"
type="Long" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:onClick="@{() -> vm.selectPickupPoint(data)}">
<TextView <TextView
android:id="@+id/tv_pickup_point_name" android:id="@+id/tv_pickup_point_name"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{data.takePlaceName}"
android:textColor="@color/color_333333" android:textColor="@color/color_333333"
android:textSize="@dimen/sp16" android:textSize="@dimen/sp16"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
...@@ -29,8 +41,10 @@ ...@@ -29,8 +41,10 @@
android:id="@+id/tv_pickup_point_distance" android:id="@+id/tv_pickup_point_distance"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{@string/pickup_point_distance(data.distance)}"
android:textColor="@color/color_D66948" android:textColor="@color/color_D66948"
android:textSize="@dimen/sp14" android:textSize="@dimen/sp14"
android:visibility="@{data.distance != 0 ? View.VISIBLE : View.GONE}"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_pickup_point_address" app:layout_constraintTop_toTopOf="@id/tv_pickup_point_address"
tools:text="距您:2.7km" /> tools:text="距您:2.7km" />
...@@ -39,6 +53,7 @@ ...@@ -39,6 +53,7 @@
android:layout_width="@dimen/dp1" android:layout_width="@dimen/dp1"
android:layout_height="@dimen/dp8" android:layout_height="@dimen/dp8"
android:background="@color/color_999999" android:background="@color/color_999999"
android:visibility="@{data.distance != 0 ? View.VISIBLE : View.GONE}"
app:layout_constraintBottom_toBottomOf="@id/tv_pickup_point_distance" app:layout_constraintBottom_toBottomOf="@id/tv_pickup_point_distance"
app:layout_constraintEnd_toStartOf="@id/tv_pickup_point_address" app:layout_constraintEnd_toStartOf="@id/tv_pickup_point_address"
app:layout_constraintStart_toEndOf="@id/tv_pickup_point_distance" app:layout_constraintStart_toEndOf="@id/tv_pickup_point_distance"
...@@ -48,12 +63,15 @@ ...@@ -48,12 +63,15 @@
android:id="@+id/tv_pickup_point_address" android:id="@+id/tv_pickup_point_address"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp17"
android:layout_marginTop="@dimen/dp8" android:layout_marginTop="@dimen/dp8"
android:ellipsize="end"
android:maxLines="1"
android:text="@{data.address}"
android:textColor="@color/color_999999" android:textColor="@color/color_999999"
android:textSize="@dimen/sp14" android:textSize="@dimen/sp14"
app:layout_constraintStart_toEndOf="@id/tv_pickup_point_distance" app:layout_constraintStart_toEndOf="@id/tv_pickup_point_distance"
app:layout_constraintTop_toBottomOf="@id/tv_pickup_point_name" app:layout_constraintTop_toBottomOf="@id/tv_pickup_point_name"
app:layout_marginStart="@{data.distance != 0 ? 17 : 0}"
tools:text="经济技术开发区燕顺路123号" /> tools:text="经济技术开发区燕顺路123号" />
<TextView <TextView
...@@ -61,6 +79,7 @@ ...@@ -61,6 +79,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp8" android:layout_marginTop="@dimen/dp8"
android:text="@{@string/pickup_point_contract_person(data.contactName)}"
android:textColor="@color/color_999999" android:textColor="@color/color_999999"
android:textSize="@dimen/sp14" android:textSize="@dimen/sp14"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
...@@ -73,6 +92,7 @@ ...@@ -73,6 +92,7 @@
android:layout_height="@dimen/dp18" android:layout_height="@dimen/dp18"
android:background="@drawable/selector_pickup_point_select" android:background="@drawable/selector_pickup_point_select"
android:button="@null" android:button="@null"
android:checked="@{selectedId == data.takePlaceId}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
......
...@@ -35,15 +35,18 @@ ...@@ -35,15 +35,18 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp4" android:layout_marginStart="@dimen/dp4"
android:layout_marginEnd="@dimen/dp4"
android:background="@null" android:background="@null"
android:hint="@string/search_pickup_point" android:hint="@string/search_pickup_point"
android:imeOptions="actionSearch" android:imeOptions="actionSearch"
android:maxLines="1" android:maxLines="1"
android:inputType="text"
android:textColor="@color/color_333333" android:textColor="@color/color_333333"
android:textColorHint="@color/color_666666" android:textColorHint="@color/color_666666"
android:textSize="@dimen/sp14" android:textSize="@dimen/sp14"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/iv_search" app:layout_constraintStart_toEndOf="@id/iv_search"
app:layout_constraintEnd_toStartOf="@id/iv_clear"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<ImageView <ImageView
......
...@@ -28,4 +28,5 @@ ...@@ -28,4 +28,5 @@
<string name="search_pickup_point">搜索自提点名称/地址</string> <string name="search_pickup_point">搜索自提点名称/地址</string>
<string name="cancel">取消</string> <string name="cancel">取消</string>
<string name="nearby_pickup_point">附近自提点</string> <string name="nearby_pickup_point">附近自提点</string>
<string name="pickup_point_distance">距您: %fkm</string>
</resources> </resources>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment