完善合作商相关页面
This commit is contained in:
parent
4ed5297c1f
commit
8ed2fedbe2
|
|
@ -42,6 +42,8 @@ object EventConstants {
|
||||||
|
|
||||||
const val JUMP_TO_SUBSCRIBE = "client.jump.to.subscribe" //跳转到订阅
|
const val JUMP_TO_SUBSCRIBE = "client.jump.to.subscribe" //跳转到订阅
|
||||||
|
|
||||||
|
const val JUMP_TO_GOODS_DETAIL = "client.jump.to.goods.detail" //跳转供应商商品详情
|
||||||
|
|
||||||
const val JUMP_TO_PUBLISH = "client.jump.to.publish" //跳转到发布
|
const val JUMP_TO_PUBLISH = "client.jump.to.publish" //跳转到发布
|
||||||
|
|
||||||
const val JUMP_TO_ABOUT_US = "client.jump.to.about.us" //界面跳转
|
const val JUMP_TO_ABOUT_US = "client.jump.to.about.us" //界面跳转
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import com.cheng.bole.bean.ContactsInfoBean
|
||||||
class AddBidContactsAdapter: BaseQuickAdapter<ContactsInfoBean, BaseViewHolder>(R.layout.listitem_publish_bid_contacts) {
|
class AddBidContactsAdapter: BaseQuickAdapter<ContactsInfoBean, BaseViewHolder>(R.layout.listitem_publish_bid_contacts) {
|
||||||
|
|
||||||
override fun convert(holder: BaseViewHolder, item: ContactsInfoBean) {
|
override fun convert(holder: BaseViewHolder, item: ContactsInfoBean) {
|
||||||
holder.setText(R.id.tv_name, item.name)
|
|
||||||
holder.setText(R.id.tv_phone, item.phone)
|
holder.setText(R.id.tv_phone, item.phone)
|
||||||
|
holder.setText(R.id.tv_name, "${item.name} | ${item.job}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -144,11 +144,12 @@ class HomeFragment : ListFragment<FragmentHomeBinding, HomeViewModel, BidItemBea
|
||||||
}
|
}
|
||||||
|
|
||||||
mViewModel.totalLiveData.observe(this) {
|
mViewModel.totalLiveData.observe(this) {
|
||||||
|
val total = it.toInt()
|
||||||
SpanUtils.with(binding.tvUpdateCount)
|
SpanUtils.with(binding.tvUpdateCount)
|
||||||
.append("已更新")
|
.append("已更新")
|
||||||
.append(DecimalFormat("0.#").format(it.toInt()/ 10000f))
|
.append(if (total < 10000) "$total" else "${DecimalFormat("0.#").format(total / 10000f)}万")
|
||||||
.setForegroundColor(getColor(R.color.color_ff2222))
|
.setForegroundColor(getColor(R.color.color_ff2222))
|
||||||
.append("万条")
|
.append("条")
|
||||||
.create()
|
.create()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.cheng.bole.ui.fragment.merchant
|
||||||
|
|
||||||
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
|
import com.cheng.bole.R
|
||||||
|
import com.cheng.bole.bean.ContactsInfoBean
|
||||||
|
|
||||||
|
class MerchantContactsAdapter: BaseQuickAdapter<ContactsInfoBean, BaseViewHolder>(R.layout.listitem_merchant_contacts) {
|
||||||
|
|
||||||
|
init {
|
||||||
|
addChildClickViewIds(R.id.iv_call)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun convert(holder: BaseViewHolder, item: ContactsInfoBean) {
|
||||||
|
holder.setText(R.id.tv_phone, item.phone)
|
||||||
|
holder.setText(R.id.tv_name, "${item.name} | ${item.job}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,138 @@
|
||||||
|
package com.cheng.bole.ui.fragment.merchant.detail
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
|
import android.content.Intent
|
||||||
|
import android.os.Build
|
||||||
|
import android.text.TextUtils
|
||||||
|
import android.view.ViewTreeObserver
|
||||||
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
import androidx.core.net.toUri
|
||||||
|
import androidx.viewpager2.widget.ViewPager2
|
||||||
|
import com.cheng.bole.R
|
||||||
|
import com.cheng.bole.bean.MerchantGoodsBean
|
||||||
|
import com.cheng.bole.common.Constants
|
||||||
|
import com.cheng.bole.common.EventConstants
|
||||||
|
import com.cheng.bole.databinding.FragmentMerchantGoodsDetailBinding
|
||||||
|
import com.cheng.bole.manager.EventReportManager
|
||||||
|
import com.cheng.bole.ui.activity.PublicActivity
|
||||||
|
import com.cheng.bole.ui.fragment.merchant.MerchantContactsAdapter
|
||||||
|
import com.cheng.bole.ui.fragment.merchant.home.MerchantHomeFragment
|
||||||
|
import com.cheng.bole.ui.fragment.photo.PhotoViewFragment
|
||||||
|
import com.example.base.decoration.SpacesItemDecoration
|
||||||
|
import com.example.base.extensions.onClick
|
||||||
|
import com.example.base.ui.BaseFragment
|
||||||
|
import com.example.base.utils.DensityUtils
|
||||||
|
import com.example.base.utils.SpanUtils
|
||||||
|
import java.text.DecimalFormat
|
||||||
|
|
||||||
|
class MerchantGoodsDetailFragment : BaseFragment<FragmentMerchantGoodsDetailBinding, MerchantGoodsDetailViewModel>() {
|
||||||
|
private var goodsInfo: MerchantGoodsBean? = null
|
||||||
|
|
||||||
|
private val contactsAdapter by lazy { MerchantContactsAdapter() }
|
||||||
|
private val imageAdapter by lazy { MerchantGoodsImageAdapter() }
|
||||||
|
|
||||||
|
override fun initView() {
|
||||||
|
super.initView()
|
||||||
|
mTitleBar?.background = null
|
||||||
|
binding.tvPrice.typeface = Constants.dDIN_PRO_M
|
||||||
|
|
||||||
|
binding.viewPager.adapter = imageAdapter
|
||||||
|
|
||||||
|
binding.rvContacts.adapter = contactsAdapter
|
||||||
|
binding.rvContacts.addItemDecoration(SpacesItemDecoration(DensityUtils.dp2px(8f)))
|
||||||
|
|
||||||
|
binding.ivTopBg.viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
|
||||||
|
override fun onGlobalLayout() {
|
||||||
|
(binding.viewPager.layoutParams as ConstraintLayout.LayoutParams).topMargin = binding.mTitleBar.height + DensityUtils.dp2px(10f)
|
||||||
|
(binding.nestedScrollView.layoutParams as ConstraintLayout.LayoutParams).topMargin = (binding.viewPager.height * 276f / 343f).toInt()
|
||||||
|
binding.layoutContent.setupWith(binding.root).setFrameClearDrawable(binding.layoutContent.background).setBlurRadius(5f)
|
||||||
|
binding.ivTopBg.viewTreeObserver.removeOnGlobalLayoutListener(this)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initData() {
|
||||||
|
super.initData()
|
||||||
|
goodsInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||||
|
arguments?.getSerializable("item", MerchantGoodsBean::class.java)
|
||||||
|
} else {
|
||||||
|
arguments?.getSerializable("item") as? MerchantGoodsBean
|
||||||
|
}
|
||||||
|
setData()
|
||||||
|
mViewModel.sendAuth()
|
||||||
|
EventReportManager.eventReport(EventConstants.JUMP_TO_GOODS_DETAIL, "", "{\"id\": ${goodsInfo?.id}}")
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initListener() {
|
||||||
|
super.initListener()
|
||||||
|
binding.btnNext.onClick {
|
||||||
|
PublicActivity.start(requireActivity(), MerchantHomeFragment::class.java, Pair("item", goodsInfo))
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
|
||||||
|
override fun onPageSelected(position: Int) {
|
||||||
|
super.onPageSelected(position)
|
||||||
|
binding.tvIndicator.text = "${position + 1}/${imageAdapter.data.size}"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
imageAdapter.setOnItemClickListener { _, _, position ->
|
||||||
|
val urlList = imageAdapter.data.map { it.url }
|
||||||
|
PublicActivity.start(requireContext(), PhotoViewFragment::class.java, Pair("photos", urlList), Pair("index", position))
|
||||||
|
}
|
||||||
|
|
||||||
|
contactsAdapter.setOnItemChildClickListener { _, view, i ->
|
||||||
|
val item = contactsAdapter.getItem(i)
|
||||||
|
when (view.id) {
|
||||||
|
R.id.iv_call -> {
|
||||||
|
val intent = Intent(Intent.ACTION_DIAL, "tel:${item.phone}".toUri())
|
||||||
|
startActivity(intent)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initObserve() {
|
||||||
|
super.initObserve()
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressLint("SetTextI18n")
|
||||||
|
private fun setData() {
|
||||||
|
if (goodsInfo != null) {
|
||||||
|
binding.tvCompanyAvatar.text = goodsInfo!!.company.company_name.substring(0, 2) + "\n" + goodsInfo!!.company.company_name.substring(2, 4)
|
||||||
|
binding.tvCompanyName.text = goodsInfo!!.company.company_name
|
||||||
|
binding.tvCompanyCity.text = goodsInfo!!.company.city_name
|
||||||
|
binding.tvExtra.text = if (!TextUtils.isEmpty(goodsInfo!!.company.extra?.toString())) goodsInfo!!.company.extra.toString() else "无"
|
||||||
|
contactsAdapter.setList(goodsInfo!!.contact)
|
||||||
|
imageAdapter.setList(goodsInfo!!.file)
|
||||||
|
binding.tvIndicator.text = "1/${imageAdapter.data.size}"
|
||||||
|
|
||||||
|
binding.tvGoodsName.text = goodsInfo!!.goods_name
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (goodsInfo!!.goods_price.toFloat() > 100000000) {
|
||||||
|
SpanUtils.with(binding.tvPrice)
|
||||||
|
.append(DecimalFormat("0.##").format(goodsInfo!!.goods_price.toFloat() / 100000000))
|
||||||
|
.appendSpace(DensityUtils.dp2px(4f))
|
||||||
|
.append("亿")
|
||||||
|
.setFontSize(12, true)
|
||||||
|
.create()
|
||||||
|
} else if (goodsInfo!!.goods_price.toFloat() > 10000) {
|
||||||
|
SpanUtils.with(binding.tvPrice)
|
||||||
|
.append(DecimalFormat("0.##").format(goodsInfo!!.goods_price.toFloat() / 10000))
|
||||||
|
.appendSpace(DensityUtils.dp2px(4f))
|
||||||
|
.append("万")
|
||||||
|
.setFontSize(12, true)
|
||||||
|
.create()
|
||||||
|
} else {
|
||||||
|
binding.tvPrice.text = DecimalFormat("0.##").format(goodsInfo!!.goods_price.toFloat())
|
||||||
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
binding.tvPrice.text = goodsInfo!!.goods_price
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.tvLocation.text = if (TextUtils.isEmpty(goodsInfo!!.city_name)) "全国" else goodsInfo!!.city_name
|
||||||
|
binding.tvViewCount.text = "已浏览 ${if (!TextUtils.isEmpty(goodsInfo!!.view_count)) goodsInfo!!.view_count else 0}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
package com.cheng.bole.ui.fragment.merchant.detail
|
||||||
|
|
||||||
|
import com.cheng.bole.net.ApiFactory
|
||||||
|
import com.example.base.utils.L
|
||||||
|
import com.example.base.viewmodel.BaseViewModel
|
||||||
|
import com.google.gson.JsonObject
|
||||||
|
import okhttp3.RequestBody.Companion.toRequestBody
|
||||||
|
|
||||||
|
class MerchantGoodsDetailViewModel: BaseViewModel() {
|
||||||
|
|
||||||
|
fun sendAuth() {
|
||||||
|
launchOnUiTryCatch({
|
||||||
|
val jsonObject = JsonObject()
|
||||||
|
jsonObject.addProperty("scene", "info")
|
||||||
|
jsonObject.addProperty("count", 1)
|
||||||
|
ApiFactory.apiService.sendAuth(jsonObject.toString().toRequestBody())
|
||||||
|
}, {
|
||||||
|
L.d(it)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.cheng.bole.ui.fragment.merchant.detail
|
||||||
|
|
||||||
|
import android.widget.ImageView
|
||||||
|
import coil.load
|
||||||
|
import coil.transform.RoundedCornersTransformation
|
||||||
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
|
import com.chad.library.adapter.base.viewholder.BaseViewHolder
|
||||||
|
import com.cheng.bole.R
|
||||||
|
import com.cheng.bole.bean.UploadFileEntity
|
||||||
|
import com.example.base.utils.DensityUtils
|
||||||
|
|
||||||
|
class MerchantGoodsImageAdapter: BaseQuickAdapter<UploadFileEntity, BaseViewHolder>(R.layout.listitem_merchant_goods_image) {
|
||||||
|
override fun convert(holder: BaseViewHolder, item: UploadFileEntity) {
|
||||||
|
holder.getView<ImageView>(R.id.iv_cover).load(item.url) {
|
||||||
|
transformations(RoundedCornersTransformation(DensityUtils.dp2px(16f).toFloat()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,69 @@
|
||||||
|
package com.cheng.bole.ui.fragment.merchant.home
|
||||||
|
|
||||||
|
import android.graphics.Typeface
|
||||||
|
import android.os.Build
|
||||||
|
import android.widget.TextView
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import androidx.fragment.app.FragmentStatePagerAdapter
|
||||||
|
import com.angcyo.tablayout.delegate.ViewPager1Delegate
|
||||||
|
import com.cheng.bole.R
|
||||||
|
import com.cheng.bole.bean.MerchantGoodsBean
|
||||||
|
import com.cheng.bole.common.Constants
|
||||||
|
import com.cheng.bole.common.EventConstants
|
||||||
|
import com.cheng.bole.databinding.FragmentMerchantHomeBinding
|
||||||
|
import com.cheng.bole.manager.EventReportManager
|
||||||
|
import com.cheng.bole.ui.base.BasePageAdapter
|
||||||
|
import com.cheng.bole.ui.fragment.merchant.list.MerchantGoodsListFragment
|
||||||
|
import com.example.base.ui.BaseFragment
|
||||||
|
|
||||||
|
class MerchantHomeFragment : BaseFragment<FragmentMerchantHomeBinding, MerchantHomeViewModel>() {
|
||||||
|
private var goodsInfo: MerchantGoodsBean? = null
|
||||||
|
|
||||||
|
private val tabText = listOf("全部", "服务", "产品", "其他")
|
||||||
|
private val fragmentList by lazy { mutableListOf<Fragment>() }
|
||||||
|
private val pageAdapter by lazy {
|
||||||
|
BasePageAdapter(
|
||||||
|
childFragmentManager,
|
||||||
|
tabText,
|
||||||
|
fragmentList,
|
||||||
|
FragmentStatePagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initView() {
|
||||||
|
super.initView()
|
||||||
|
mTitleBar?.background = null
|
||||||
|
|
||||||
|
goodsInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||||
|
arguments?.getSerializable("item", MerchantGoodsBean::class.java)
|
||||||
|
} else {
|
||||||
|
arguments?.getSerializable("item") as? MerchantGoodsBean
|
||||||
|
}
|
||||||
|
binding.tvTitle.text = goodsInfo?.company?.company_name
|
||||||
|
|
||||||
|
initFragment()
|
||||||
|
binding.viewPager.adapter = pageAdapter
|
||||||
|
binding.viewPager.offscreenPageLimit = fragmentList.size
|
||||||
|
binding.tabLayout.setupViewPager(ViewPager1Delegate.install(binding.viewPager, binding.tabLayout))
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun initFragment() {
|
||||||
|
fragmentList.add(MerchantGoodsListFragment.newInstance("", goodsInfo!!.user_id))
|
||||||
|
fragmentList.add(MerchantGoodsListFragment.newInstance("1", goodsInfo!!.user_id))
|
||||||
|
fragmentList.add(MerchantGoodsListFragment.newInstance("2", goodsInfo!!.user_id))
|
||||||
|
fragmentList.add(MerchantGoodsListFragment.newInstance("3", goodsInfo!!.user_id))
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun initListener() {
|
||||||
|
super.initListener()
|
||||||
|
binding.tabLayout.observeIndexChange { fromIndex, toIndex, _, _ ->
|
||||||
|
binding.viewPager.currentItem = toIndex
|
||||||
|
if (fromIndex != -1) {
|
||||||
|
(binding.tabLayout.getChildAt(fromIndex) as TextView).typeface = Typeface.DEFAULT
|
||||||
|
(binding.tabLayout.getChildAt(fromIndex) as TextView).setBackgroundResource(R.drawable.shape_push_bid_type_default)
|
||||||
|
}
|
||||||
|
(binding.tabLayout.getChildAt(toIndex) as TextView).typeface = Constants.douyinsansB
|
||||||
|
(binding.tabLayout.getChildAt(toIndex) as TextView).setBackgroundResource(R.drawable.shape_push_bid_type_checked)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
package com.cheng.bole.ui.fragment.merchant.home
|
||||||
|
|
||||||
|
import com.example.base.viewmodel.BaseViewModel
|
||||||
|
|
||||||
|
class MerchantHomeViewModel: BaseViewModel() {
|
||||||
|
}
|
||||||
|
|
@ -25,7 +25,7 @@ class MerchantGoodsAdapter: LoadMoreAdapter<MerchantGoodsBean>(R.layout.listitem
|
||||||
holder.setText(R.id.tv_location, if (TextUtils.isEmpty(item.city_name)) "全国" else item.city_name)
|
holder.setText(R.id.tv_location, if (TextUtils.isEmpty(item.city_name)) "全国" else item.city_name)
|
||||||
holder.setText(R.id.tv_company_avatar, item.company.company_name.take(2) + "\n" + item.company.company_name.substring(2, 4))
|
holder.setText(R.id.tv_company_avatar, item.company.company_name.take(2) + "\n" + item.company.company_name.substring(2, 4))
|
||||||
holder.setText(R.id.tv_company_name, item.company.company_name)
|
holder.setText(R.id.tv_company_name, item.company.company_name)
|
||||||
holder.setText(R.id.tv_view_count, "已浏览${if (!TextUtils.isEmpty(item.view_count)) item.view_count else 0}")
|
holder.setText(R.id.tv_view_count, "已浏览 ${if (!TextUtils.isEmpty(item.view_count)) item.view_count else 0}")
|
||||||
holder.getView<TextView>(R.id.tv_price).typeface = Constants.dDIN_PRO_M
|
holder.getView<TextView>(R.id.tv_price).typeface = Constants.dDIN_PRO_M
|
||||||
holder.getView<TextView>(R.id.tv_company_avatar).typeface = Constants.almmsht
|
holder.getView<TextView>(R.id.tv_company_avatar).typeface = Constants.almmsht
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import com.cheng.bole.R
|
||||||
import com.cheng.bole.bean.MerchantGoodsBean
|
import com.cheng.bole.bean.MerchantGoodsBean
|
||||||
import com.cheng.bole.databinding.FragmentMerchantGoodsListBinding
|
import com.cheng.bole.databinding.FragmentMerchantGoodsListBinding
|
||||||
import com.cheng.bole.ui.activity.PublicActivity
|
import com.cheng.bole.ui.activity.PublicActivity
|
||||||
|
import com.cheng.bole.ui.fragment.merchant.detail.MerchantGoodsDetailFragment
|
||||||
import com.cheng.bole.ui.fragment.mine.vip.VipFragment
|
import com.cheng.bole.ui.fragment.mine.vip.VipFragment
|
||||||
import com.example.base.decoration.FirstItemOffsetDecoration
|
import com.example.base.decoration.FirstItemOffsetDecoration
|
||||||
import com.example.base.ui.list.ListFragment
|
import com.example.base.ui.list.ListFragment
|
||||||
|
|
@ -63,9 +64,10 @@ class MerchantGoodsListFragment : ListFragment<FragmentMerchantGoodsListBinding,
|
||||||
super.initObserve()
|
super.initObserve()
|
||||||
mViewModel.authLiveData.observe(this) {
|
mViewModel.authLiveData.observe(this) {
|
||||||
if (it.auth) {
|
if (it.auth) {
|
||||||
// PublicActivity.start(requireActivity(), SupplierGoodsDetailFragment::class.java, Pair("item", item))
|
PublicActivity.start(requireActivity(), MerchantGoodsDetailFragment::class.java, Pair("item", item))
|
||||||
} else {
|
} else {
|
||||||
PublicActivity.start(requireContext(), VipFragment::class.java, Pair("origin", "view_goods"))
|
// PublicActivity.start(requireContext(), VipFragment::class.java, Pair("origin", "view_goods"))
|
||||||
|
PublicActivity.start(requireActivity(), MerchantGoodsDetailFragment::class.java, Pair("item", item))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,12 @@ import com.cheng.bole.utils.BitmapUtils
|
||||||
class PhotoViewAdapter : BaseQuickAdapter<String, BaseViewHolder>(R.layout.listitem_photo_view) {
|
class PhotoViewAdapter : BaseQuickAdapter<String, BaseViewHolder>(R.layout.listitem_photo_view) {
|
||||||
|
|
||||||
override fun convert(holder: BaseViewHolder, item: String) {
|
override fun convert(holder: BaseViewHolder, item: String) {
|
||||||
|
if (item.startsWith("http")) {
|
||||||
|
holder.getView<PhotoView>(R.id.iv_photo).load(item)
|
||||||
|
} else {
|
||||||
BitmapUtils.compressImg(context, item) {
|
BitmapUtils.compressImg(context, item) {
|
||||||
holder.getView<PhotoView>(R.id.iv_photo).load(it)
|
holder.getView<PhotoView>(R.id.iv_photo).load(it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -77,10 +77,10 @@
|
||||||
android:paddingStart="@dimen/dp_4"
|
android:paddingStart="@dimen/dp_4"
|
||||||
android:paddingEnd="@dimen/dp_4"
|
android:paddingEnd="@dimen/dp_4"
|
||||||
android:text="全国"
|
android:text="全国"
|
||||||
android:textColor="#585D6C"
|
android:textColor="@color/color_585d6c"
|
||||||
android:textSize="@dimen/sp_11"
|
android:textSize="@dimen/sp_11"
|
||||||
app:csb_cornerRadius="@dimen/dp_3"
|
app:csb_cornerRadius="@dimen/dp_3"
|
||||||
app:csb_fillColor="#F4F6FA"
|
app:csb_fillColor="@color/color_f4f6fa"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/tv_content" />
|
app:layout_constraintTop_toBottomOf="@id/tv_content" />
|
||||||
|
|
||||||
|
|
@ -151,6 +151,7 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
|
android:overScrollMode="never"
|
||||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||||
tools:itemCount="2"
|
tools:itemCount="2"
|
||||||
tools:listitem="@layout/listitem_bid_detail_contact" />
|
tools:listitem="@layout/listitem_bid_detail_contact" />
|
||||||
|
|
|
||||||
|
|
@ -180,7 +180,7 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/dp_14"
|
android:layout_marginStart="@dimen/dp_14"
|
||||||
android:text="已更新2.4万条"
|
android:text="已更新0条"
|
||||||
android:textColor="@color/color_666666"
|
android:textColor="@color/color_666666"
|
||||||
android:textSize="@dimen/sp_12"
|
android:textSize="@dimen/sp_12"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/tv_bid_title"
|
app:layout_constraintBottom_toBottomOf="@id/tv_bid_title"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,289 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/iv_top_bg"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:src="@mipmap/ic_merchant_detail_top_bg"
|
||||||
|
app:layout_constraintDimensionRatio="h,1125:528"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<androidx.viewpager2.widget.ViewPager2
|
||||||
|
android:id="@+id/viewPager"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginStart="@dimen/dp_16"
|
||||||
|
android:layout_marginTop="100dp"
|
||||||
|
android:layout_marginEnd="@dimen/dp_16"
|
||||||
|
app:layout_constraintDimensionRatio="h,1:1"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<com.cheng.bole.widget.CommonShapeView
|
||||||
|
android:id="@+id/tv_indicator"
|
||||||
|
android:layout_width="@dimen/dp_40"
|
||||||
|
android:layout_height="@dimen/dp_20"
|
||||||
|
android:layout_marginEnd="@dimen/dp_28"
|
||||||
|
android:layout_marginBottom="@dimen/dp_12"
|
||||||
|
android:text="1/4"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="@dimen/sp_12"
|
||||||
|
app:csb_cornerRadius="@dimen/dp_10"
|
||||||
|
app:csb_fillColor="#80000000"
|
||||||
|
app:csb_strokeColor="@color/white"
|
||||||
|
app:csb_strokeWidth="0.5dp"
|
||||||
|
app:layout_constraintBottom_toTopOf="@id/nestedScrollView"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent" />
|
||||||
|
|
||||||
|
<androidx.core.widget.NestedScrollView
|
||||||
|
android:id="@+id/nestedScrollView"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginTop="276dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/viewPager">
|
||||||
|
|
||||||
|
<eightbitlab.com.blurview.BlurView
|
||||||
|
android:id="@+id/layout_content"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="@drawable/shape_trans_top_line_cor20"
|
||||||
|
app:blurOverlayColor="#4DFFFFFF">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<com.lihang.ShadowLayout
|
||||||
|
android:id="@+id/layout_goods_info"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_9"
|
||||||
|
android:layout_marginTop="@dimen/dp_13"
|
||||||
|
android:layout_marginEnd="@dimen/dp_9"
|
||||||
|
app:hl_cornerRadius="@dimen/dp_12"
|
||||||
|
app:hl_shadowColor="#0d4a4f5b"
|
||||||
|
app:hl_shadowLimit="@dimen/dp_7"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingStart="@dimen/dp_12"
|
||||||
|
android:paddingTop="@dimen/dp_16"
|
||||||
|
android:paddingEnd="@dimen/dp_12">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_price"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="18.8"
|
||||||
|
android:textColor="@color/color_ff493c"
|
||||||
|
android:textSize="@dimen/sp_26"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_goods_name"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/dp_6"
|
||||||
|
android:fontFamily="sans-serif-medium"
|
||||||
|
android:text="室内木门"
|
||||||
|
android:textColor="@color/color_1a1a1a"
|
||||||
|
android:textSize="@dimen/sp_18"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/tv_price" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_view_count"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="已浏览 0"
|
||||||
|
android:textColor="@color/color_999999"
|
||||||
|
android:textSize="@dimen/sp_10"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@id/tv_price"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/tv_price" />
|
||||||
|
|
||||||
|
<com.cheng.bole.widget.CommonShapeView
|
||||||
|
android:id="@+id/tv_location"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="@dimen/dp_18"
|
||||||
|
android:layout_marginTop="@dimen/dp_8"
|
||||||
|
android:paddingStart="@dimen/dp_4"
|
||||||
|
android:paddingEnd="@dimen/dp_4"
|
||||||
|
android:text="全国"
|
||||||
|
android:textColor="@color/color_585d6c"
|
||||||
|
android:textSize="@dimen/sp_11"
|
||||||
|
app:csb_cornerRadius="@dimen/dp_2"
|
||||||
|
app:csb_fillColor="@color/color_f4f6fa"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/tv_goods_name" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/divider"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="@dimen/dp_2"
|
||||||
|
android:layout_marginTop="@dimen/dp_22"
|
||||||
|
android:background="@drawable/shape_dde2eb_dash_divider_h"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/tv_location" />
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/rv_contacts"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:overScrollMode="never"
|
||||||
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/divider"
|
||||||
|
tools:itemCount="1"
|
||||||
|
tools:listitem="@layout/listitem_merchant_contacts" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</com.lihang.ShadowLayout>
|
||||||
|
|
||||||
|
<com.lihang.ShadowLayout
|
||||||
|
android:id="@+id/layout_company_info"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_9"
|
||||||
|
android:layout_marginEnd="@dimen/dp_9"
|
||||||
|
app:hl_cornerRadius="@dimen/dp_12"
|
||||||
|
app:hl_shadowColor="#0d4a4f5b"
|
||||||
|
app:hl_shadowLimit="@dimen/dp_7"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/layout_goods_info">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingStart="@dimen/dp_12"
|
||||||
|
android:paddingTop="@dimen/dp_16"
|
||||||
|
android:paddingEnd="@dimen/dp_12"
|
||||||
|
android:paddingBottom="@dimen/dp_16">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_company_avatar"
|
||||||
|
android:layout_width="@dimen/dp_50"
|
||||||
|
android:layout_height="@dimen/dp_50"
|
||||||
|
android:layout_marginStart="@dimen/dp_12"
|
||||||
|
android:background="@mipmap/ic_company_name_avatar_bg"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="永康\n市欧"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="@dimen/sp_15"
|
||||||
|
android:textStyle="bold"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_company_name"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_12"
|
||||||
|
android:layout_marginTop="@dimen/dp_2"
|
||||||
|
android:layout_marginEnd="@dimen/dp_12"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:text="永康市欧努家具有限公司"
|
||||||
|
android:textColor="@color/color_1a1a1a"
|
||||||
|
android:textSize="@dimen/sp_14"
|
||||||
|
app:layout_constraintEnd_toStartOf="@id/btn_next"
|
||||||
|
app:layout_constraintStart_toEndOf="@id/tv_company_avatar"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/tv_company_avatar" />
|
||||||
|
|
||||||
|
<com.cheng.bole.widget.CommonShapeView
|
||||||
|
android:id="@+id/tv_company_city"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="@dimen/dp_18"
|
||||||
|
android:layout_marginBottom="@dimen/dp_5"
|
||||||
|
android:paddingStart="@dimen/dp_4"
|
||||||
|
android:paddingEnd="@dimen/dp_4"
|
||||||
|
android:text="浙江"
|
||||||
|
android:textColor="@color/color_0ca8ff"
|
||||||
|
android:textSize="@dimen/sp_11"
|
||||||
|
app:csb_cornerRadius="@dimen/dp_2"
|
||||||
|
app:csb_fillColor="@color/color_e6f6ff"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@id/tv_company_avatar"
|
||||||
|
app:layout_constraintStart_toStartOf="@id/tv_company_name" />
|
||||||
|
|
||||||
|
<com.cheng.bole.widget.CommonShapeView
|
||||||
|
android:id="@+id/btn_next"
|
||||||
|
android:layout_width="@dimen/dp_60"
|
||||||
|
android:layout_height="@dimen/dp_28"
|
||||||
|
android:text="查看"
|
||||||
|
android:textColor="@color/color_125ffe"
|
||||||
|
android:textSize="@dimen/sp_14"
|
||||||
|
app:csb_cornerRadius="@dimen/dp_25"
|
||||||
|
app:csb_strokeColor="@color/color_125ffe"
|
||||||
|
app:csb_strokeWidth="@dimen/dp_1"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@id/tv_company_avatar"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/tv_company_avatar" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
</com.lihang.ShadowLayout>
|
||||||
|
|
||||||
|
<com.lihang.ShadowLayout
|
||||||
|
android:id="@+id/layout_other"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_9"
|
||||||
|
android:layout_marginEnd="@dimen/dp_9"
|
||||||
|
app:hl_cornerRadius="@dimen/dp_12"
|
||||||
|
app:hl_shadowColor="#0d4a4f5b"
|
||||||
|
app:hl_shadowLimit="@dimen/dp_7"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/layout_company_info">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingStart="@dimen/dp_12"
|
||||||
|
android:paddingTop="@dimen/dp_16"
|
||||||
|
android:paddingEnd="@dimen/dp_12"
|
||||||
|
android:paddingBottom="@dimen/dp_16">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_extra_title"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="-其他说明-"
|
||||||
|
android:textColor="@color/color_999999"
|
||||||
|
android:textSize="@dimen/sp_14"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_extra"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/dp_16"
|
||||||
|
android:text="专业生产室内各类木门,学校门酒店门等。"
|
||||||
|
android:textColor="@color/color_1a1a1a"
|
||||||
|
android:textSize="@dimen/sp_14"
|
||||||
|
app:layout_constraintHeight_min="@dimen/dp_100"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/tv_extra_title" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
</com.lihang.ShadowLayout>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</eightbitlab.com.blurview.BlurView>
|
||||||
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
|
||||||
|
<com.example.base.widget.TitleBar
|
||||||
|
android:id="@+id/mTitleBar"
|
||||||
|
style="@style/Custom.TitleBar"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:navigationIcon="@drawable/ic_back_black"
|
||||||
|
app:title=" " />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
@ -0,0 +1,90 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/iv_top_bg"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:src="@mipmap/ic_merchant_detail_top_bg"
|
||||||
|
app:layout_constraintDimensionRatio="h,1125:528"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<com.example.base.widget.TitleBar
|
||||||
|
android:id="@+id/mTitleBar"
|
||||||
|
style="@style/Custom.TitleBar"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:navigationIcon="@drawable/ic_back_black"
|
||||||
|
app:title=" " >
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_title"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:singleLine="true"
|
||||||
|
style="@style/_titleTextAppearance"
|
||||||
|
android:layout_height="wrap_content"/>
|
||||||
|
</com.example.base.widget.TitleBar>
|
||||||
|
|
||||||
|
<com.angcyo.tablayout.DslTabLayout
|
||||||
|
android:id="@+id/tabLayout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="@dimen/dp_34"
|
||||||
|
android:layout_marginTop="@dimen/dp_16"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/mTitleBar"
|
||||||
|
app:tab_deselect_color="@color/color_1a1a1a"
|
||||||
|
app:tab_draw_indicator="false"
|
||||||
|
app:tab_enable_gradient_text_size="false"
|
||||||
|
app:tab_enable_text_bold="false"
|
||||||
|
app:tab_item_auto_equ_width="false"
|
||||||
|
app:tab_select_color="@color/color_125ffe"
|
||||||
|
app:tab_text_max_size="@dimen/sp_16"
|
||||||
|
app:tab_text_min_size="@dimen/sp_14">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="@dimen/dp_54"
|
||||||
|
android:layout_height="@dimen/dp_34"
|
||||||
|
android:layout_marginStart="@dimen/dp_16"
|
||||||
|
android:background="@drawable/shape_white_cor6"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="全部" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="@dimen/dp_54"
|
||||||
|
android:layout_height="@dimen/dp_34"
|
||||||
|
android:layout_marginStart="@dimen/dp_12"
|
||||||
|
android:background="@drawable/shape_white_cor6"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="服务" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="@dimen/dp_54"
|
||||||
|
android:layout_height="@dimen/dp_34"
|
||||||
|
android:layout_marginStart="@dimen/dp_12"
|
||||||
|
android:background="@drawable/shape_white_cor6"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="产品" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="@dimen/dp_54"
|
||||||
|
android:layout_height="@dimen/dp_34"
|
||||||
|
android:layout_marginStart="@dimen/dp_12"
|
||||||
|
android:background="@drawable/shape_white_cor6"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="其他" />
|
||||||
|
|
||||||
|
</com.angcyo.tablayout.DslTabLayout>
|
||||||
|
|
||||||
|
<androidx.viewpager.widget.ViewPager
|
||||||
|
android:id="@+id/viewPager"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginTop="@dimen/dp_9"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/tabLayout" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
@ -327,8 +327,7 @@
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/dp_40"
|
android:layout_marginStart="@dimen/dp_40"
|
||||||
android:paddingTop="@dimen/dp_16"
|
android:overScrollMode="never"
|
||||||
android:paddingBottom="@dimen/dp_16"
|
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||||
app:layout_constraintEnd_toStartOf="@id/iv_add_contacts"
|
app:layout_constraintEnd_toStartOf="@id/iv_add_contacts"
|
||||||
|
|
@ -357,8 +356,8 @@
|
||||||
android:id="@+id/tv_info_title"
|
android:id="@+id/tv_info_title"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:drawablePadding="@dimen/dp_6"
|
|
||||||
android:layout_marginTop="@dimen/dp_16"
|
android:layout_marginTop="@dimen/dp_16"
|
||||||
|
android:drawablePadding="@dimen/dp_6"
|
||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:text="项目信息"
|
android:text="项目信息"
|
||||||
android:textColor="@color/color_1a1a1a"
|
android:textColor="@color/color_1a1a1a"
|
||||||
|
|
@ -445,8 +444,8 @@
|
||||||
android:textColor="@color/color_999999"
|
android:textColor="@color/color_999999"
|
||||||
android:textSize="@dimen/sp_10"
|
android:textSize="@dimen/sp_10"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatEditText
|
<androidx.appcompat.widget.AppCompatEditText
|
||||||
android:id="@+id/et_info"
|
android:id="@+id/et_info"
|
||||||
|
|
|
||||||
|
|
@ -213,8 +213,8 @@
|
||||||
android:id="@+id/tv_price_title"
|
android:id="@+id/tv_price_title"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="价格"
|
|
||||||
android:layout_marginTop="@dimen/dp_16"
|
android:layout_marginTop="@dimen/dp_16"
|
||||||
|
android:text="价格"
|
||||||
app:layout_constraintTop_toBottomOf="@id/et_name" />
|
app:layout_constraintTop_toBottomOf="@id/et_name" />
|
||||||
|
|
||||||
<RadioGroup
|
<RadioGroup
|
||||||
|
|
@ -233,18 +233,18 @@
|
||||||
android:id="@+id/rb_price1"
|
android:id="@+id/rb_price1"
|
||||||
android:layout_width="@dimen/dp_18"
|
android:layout_width="@dimen/dp_18"
|
||||||
android:layout_height="@dimen/dp_18"
|
android:layout_height="@dimen/dp_18"
|
||||||
android:checked="true"
|
|
||||||
android:background="@drawable/selector_rb"
|
android:background="@drawable/selector_rb"
|
||||||
android:button="@null" />
|
android:button="@null"
|
||||||
|
android:checked="true" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_price1"
|
android:id="@+id/tv_price1"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_10"
|
||||||
android:text="价格"
|
android:text="价格"
|
||||||
android:textColor="@color/color_1a1a1a"
|
android:textColor="@color/color_1a1a1a"
|
||||||
android:textSize="@dimen/sp_14"
|
android:textSize="@dimen/sp_14" />
|
||||||
android:layout_marginStart="@dimen/dp_10"/>
|
|
||||||
|
|
||||||
<RadioButton
|
<RadioButton
|
||||||
android:id="@+id/rb_price2"
|
android:id="@+id/rb_price2"
|
||||||
|
|
@ -258,10 +258,10 @@
|
||||||
android:id="@+id/tv_price2"
|
android:id="@+id/tv_price2"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_10"
|
||||||
android:text="自定义"
|
android:text="自定义"
|
||||||
android:textColor="@color/color_1a1a1a"
|
android:textColor="@color/color_1a1a1a"
|
||||||
android:textSize="@dimen/sp_14"
|
android:textSize="@dimen/sp_14" />
|
||||||
android:layout_marginStart="@dimen/dp_10"/>
|
|
||||||
|
|
||||||
</RadioGroup>
|
</RadioGroup>
|
||||||
|
|
||||||
|
|
@ -270,8 +270,8 @@
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/dp_68"
|
android:layout_marginStart="@dimen/dp_68"
|
||||||
android:background="@null"
|
|
||||||
android:layout_marginTop="@dimen/dp_16"
|
android:layout_marginTop="@dimen/dp_16"
|
||||||
|
android:background="@null"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:hint="请输入"
|
android:hint="请输入"
|
||||||
android:inputType="numberDecimal"
|
android:inputType="numberDecimal"
|
||||||
|
|
@ -376,6 +376,7 @@
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/dp_40"
|
android:layout_marginStart="@dimen/dp_40"
|
||||||
|
android:overScrollMode="never"
|
||||||
android:paddingTop="@dimen/dp_16"
|
android:paddingTop="@dimen/dp_16"
|
||||||
android:paddingBottom="@dimen/dp_16"
|
android:paddingBottom="@dimen/dp_16"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
|
|
@ -406,8 +407,8 @@
|
||||||
android:id="@+id/tv_explain_title"
|
android:id="@+id/tv_explain_title"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:drawablePadding="@dimen/dp_6"
|
|
||||||
android:layout_marginTop="@dimen/dp_16"
|
android:layout_marginTop="@dimen/dp_16"
|
||||||
|
android:drawablePadding="@dimen/dp_6"
|
||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:text="说明"
|
android:text="说明"
|
||||||
android:textColor="@color/color_1a1a1a"
|
android:textColor="@color/color_1a1a1a"
|
||||||
|
|
@ -460,8 +461,8 @@
|
||||||
android:text="第一张图将作为缩略图"
|
android:text="第一张图将作为缩略图"
|
||||||
android:textColor="@color/color_666666"
|
android:textColor="@color/color_666666"
|
||||||
android:textSize="@dimen/sp_12"
|
android:textSize="@dimen/sp_12"
|
||||||
app:layout_constraintTop_toBottomOf="@id/et_explain"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent" />
|
app:layout_constraintTop_toBottomOf="@id/et_explain" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_image_count"
|
android:id="@+id/tv_image_count"
|
||||||
|
|
|
||||||
|
|
@ -158,7 +158,7 @@
|
||||||
android:layout_marginTop="@dimen/dp_5"
|
android:layout_marginTop="@dimen/dp_5"
|
||||||
android:layout_marginEnd="@dimen/dp_9"
|
android:layout_marginEnd="@dimen/dp_9"
|
||||||
app:hl_cornerRadius="@dimen/dp_10"
|
app:hl_cornerRadius="@dimen/dp_10"
|
||||||
app:hl_shadowColor="#0f000000"
|
app:hl_shadowColor="#0d4a4f5b"
|
||||||
app:hl_shadowLimit="@dimen/dp_7"
|
app:hl_shadowLimit="@dimen/dp_7"
|
||||||
app:layout_constraintTop_toBottomOf="@id/tv_recommend_title">
|
app:layout_constraintTop_toBottomOf="@id/tv_recommend_title">
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
android:layout_marginStart="@dimen/dp_5"
|
android:layout_marginStart="@dimen/dp_5"
|
||||||
android:layout_marginEnd="@dimen/dp_5"
|
android:layout_marginEnd="@dimen/dp_5"
|
||||||
app:hl_cornerRadius="@dimen/dp_8"
|
app:hl_cornerRadius="@dimen/dp_8"
|
||||||
app:hl_shadowColor="#0f000000"
|
app:hl_shadowColor="#0d4a4f5b"
|
||||||
app:hl_shadowLimit="@dimen/dp_7">
|
app:hl_shadowLimit="@dimen/dp_7">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
|
@ -82,10 +82,10 @@
|
||||||
android:paddingStart="@dimen/dp_4"
|
android:paddingStart="@dimen/dp_4"
|
||||||
android:paddingEnd="@dimen/dp_4"
|
android:paddingEnd="@dimen/dp_4"
|
||||||
android:text="全国"
|
android:text="全国"
|
||||||
android:textColor="#585D6C"
|
android:textColor="@color/color_585d6c"
|
||||||
android:textSize="@dimen/sp_11"
|
android:textSize="@dimen/sp_11"
|
||||||
app:csb_cornerRadius="@dimen/dp_3"
|
app:csb_cornerRadius="@dimen/dp_3"
|
||||||
app:csb_fillColor="#F4F6FA"
|
app:csb_fillColor="@color/color_f4f6fa"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/tv_content" />
|
app:layout_constraintTop_toBottomOf="@id/tv_content" />
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_phone"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:layout_marginTop="@dimen/dp_16"
|
||||||
|
android:text="15826433067"
|
||||||
|
android:textColor="@color/color_666666"
|
||||||
|
android:textSize="@dimen/sp_14"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_name"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/dp_4"
|
||||||
|
android:text="郭女士 | 企业负责人"
|
||||||
|
android:textColor="@color/color_999999"
|
||||||
|
android:textSize="@dimen/sp_12"
|
||||||
|
android:layout_marginBottom="@dimen/dp_16"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/tv_phone" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
@ -81,10 +81,10 @@
|
||||||
android:paddingEnd="@dimen/dp_4"
|
android:paddingEnd="@dimen/dp_4"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:text="全国"
|
android:text="全国"
|
||||||
android:textColor="#585D6C"
|
android:textColor="@color/color_585d6c"
|
||||||
android:textSize="@dimen/sp_11"
|
android:textSize="@dimen/sp_11"
|
||||||
app:csb_cornerRadius="@dimen/dp_2"
|
app:csb_cornerRadius="@dimen/dp_2"
|
||||||
app:csb_fillColor="#F4F6FA"
|
app:csb_fillColor="@color/color_f4f6fa"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/tv_price"
|
app:layout_constraintBottom_toBottomOf="@id/tv_price"
|
||||||
app:layout_constraintEnd_toStartOf="@id/iv_cover"
|
app:layout_constraintEnd_toStartOf="@id/iv_cover"
|
||||||
app:layout_constraintTop_toTopOf="@id/tv_price"
|
app:layout_constraintTop_toTopOf="@id/tv_price"
|
||||||
|
|
@ -95,7 +95,7 @@
|
||||||
android:layout_width="@dimen/dp_20"
|
android:layout_width="@dimen/dp_20"
|
||||||
android:layout_height="@dimen/dp_20"
|
android:layout_height="@dimen/dp_20"
|
||||||
android:layout_marginTop="@dimen/dp_12"
|
android:layout_marginTop="@dimen/dp_12"
|
||||||
android:background="@mipmap/ic_company_name_avater_bg"
|
android:background="@mipmap/ic_company_name_avatar_bg"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:text="永康\n市欧"
|
android:text="永康\n市欧"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/iv_cover"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:layout_height="match_parent"/>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
|
android:layout_marginTop="@dimen/dp_16"
|
||||||
android:text="15826433067"
|
android:text="15826433067"
|
||||||
android:textColor="@color/color_666666"
|
android:textColor="@color/color_666666"
|
||||||
android:textSize="@dimen/sp_14"
|
android:textSize="@dimen/sp_14"
|
||||||
|
|
@ -23,6 +24,8 @@
|
||||||
android:text="郭女士 | 企业负责人"
|
android:text="郭女士 | 企业负责人"
|
||||||
android:textColor="@color/color_999999"
|
android:textColor="@color/color_999999"
|
||||||
android:textSize="@dimen/sp_12"
|
android:textSize="@dimen/sp_12"
|
||||||
|
android:layout_marginBottom="@dimen/dp_16"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/tv_phone" />
|
app:layout_constraintTop_toBottomOf="@id/tv_phone" />
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
android:layout_marginTop="@dimen/dp_1"
|
android:layout_marginTop="@dimen/dp_1"
|
||||||
android:layout_marginEnd="@dimen/dp_1"
|
android:layout_marginEnd="@dimen/dp_1"
|
||||||
app:hl_cornerRadius="@dimen/dp_25"
|
app:hl_cornerRadius="@dimen/dp_25"
|
||||||
app:hl_shadowColor="#0f000000"
|
app:hl_shadowColor="#0d4a4f5b"
|
||||||
app:hl_shadowLimit="@dimen/dp_7">
|
app:hl_shadowLimit="@dimen/dp_7">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
android:layout_marginStart="@dimen/dp_5"
|
android:layout_marginStart="@dimen/dp_5"
|
||||||
android:layout_marginEnd="@dimen/dp_5"
|
android:layout_marginEnd="@dimen/dp_5"
|
||||||
app:hl_cornerRadius="@dimen/dp_8"
|
app:hl_cornerRadius="@dimen/dp_8"
|
||||||
app:hl_shadowColor="#0f000000"
|
app:hl_shadowColor="#0d4a4f5b"
|
||||||
app:hl_shadowLimit="@dimen/dp_7">
|
app:hl_shadowLimit="@dimen/dp_7">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 732 B After Width: | Height: | Size: 732 B |
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 48 KiB |
|
|
@ -85,4 +85,8 @@
|
||||||
<color name="color_f8f9fa">#F8F9FA</color>
|
<color name="color_f8f9fa">#F8F9FA</color>
|
||||||
<color name="color_3bbf0f">#3BBF0F</color>
|
<color name="color_3bbf0f">#3BBF0F</color>
|
||||||
<color name="color_707a89">#707A89</color>
|
<color name="color_707a89">#707A89</color>
|
||||||
|
<color name="color_0ca8ff">#0CA8FF</color>
|
||||||
|
<color name="color_e6f6ff">#E6F6FF</color>
|
||||||
|
<color name="color_f4f6fa">#F4F6FA</color>
|
||||||
|
<color name="color_585d6c">#585D6C</color>
|
||||||
</resources>
|
</resources>
|
||||||
Loading…
Reference in New Issue