diff --git a/app/src/main/java/com/cheng/bole/common/EventConstants.kt b/app/src/main/java/com/cheng/bole/common/EventConstants.kt index d030015..32e2ac0 100644 --- a/app/src/main/java/com/cheng/bole/common/EventConstants.kt +++ b/app/src/main/java/com/cheng/bole/common/EventConstants.kt @@ -42,6 +42,8 @@ object EventConstants { 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_ABOUT_US = "client.jump.to.about.us" //界面跳转 diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/bid/publish/bid/AddBidContactsAdapter.kt b/app/src/main/java/com/cheng/bole/ui/fragment/bid/publish/bid/AddBidContactsAdapter.kt index 1aec0a4..959801d 100644 --- a/app/src/main/java/com/cheng/bole/ui/fragment/bid/publish/bid/AddBidContactsAdapter.kt +++ b/app/src/main/java/com/cheng/bole/ui/fragment/bid/publish/bid/AddBidContactsAdapter.kt @@ -8,7 +8,7 @@ import com.cheng.bole.bean.ContactsInfoBean class AddBidContactsAdapter: BaseQuickAdapter(R.layout.listitem_publish_bid_contacts) { 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_name, "${item.name} | ${item.job}") } } \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeFragment.kt b/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeFragment.kt index 05543d3..c9eb729 100644 --- a/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeFragment.kt +++ b/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeFragment.kt @@ -144,11 +144,12 @@ class HomeFragment : ListFragment(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}") + } +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/merchant/detail/MerchantGoodsDetailFragment.kt b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/detail/MerchantGoodsDetailFragment.kt new file mode 100644 index 0000000..baacf59 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/detail/MerchantGoodsDetailFragment.kt @@ -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() { + 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}" + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/merchant/detail/MerchantGoodsDetailViewModel.kt b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/detail/MerchantGoodsDetailViewModel.kt new file mode 100644 index 0000000..8a94f9d --- /dev/null +++ b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/detail/MerchantGoodsDetailViewModel.kt @@ -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) + }) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/merchant/detail/MerchantGoodsImageAdapter.kt b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/detail/MerchantGoodsImageAdapter.kt new file mode 100644 index 0000000..e6ec85e --- /dev/null +++ b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/detail/MerchantGoodsImageAdapter.kt @@ -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(R.layout.listitem_merchant_goods_image) { + override fun convert(holder: BaseViewHolder, item: UploadFileEntity) { + holder.getView(R.id.iv_cover).load(item.url) { + transformations(RoundedCornersTransformation(DensityUtils.dp2px(16f).toFloat())) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/merchant/home/MerchantHomeFragment.kt b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/home/MerchantHomeFragment.kt new file mode 100644 index 0000000..c85d4fa --- /dev/null +++ b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/home/MerchantHomeFragment.kt @@ -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() { + private var goodsInfo: MerchantGoodsBean? = null + + private val tabText = listOf("全部", "服务", "产品", "其他") + private val fragmentList by lazy { mutableListOf() } + 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) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/merchant/home/MerchantHomeViewModel.kt b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/home/MerchantHomeViewModel.kt new file mode 100644 index 0000000..62187ef --- /dev/null +++ b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/home/MerchantHomeViewModel.kt @@ -0,0 +1,6 @@ +package com.cheng.bole.ui.fragment.merchant.home + +import com.example.base.viewmodel.BaseViewModel + +class MerchantHomeViewModel: BaseViewModel() { +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/merchant/list/MerchantGoodsAdapter.kt b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/list/MerchantGoodsAdapter.kt index 32d59fb..ee43354 100644 --- a/app/src/main/java/com/cheng/bole/ui/fragment/merchant/list/MerchantGoodsAdapter.kt +++ b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/list/MerchantGoodsAdapter.kt @@ -25,7 +25,7 @@ class MerchantGoodsAdapter: LoadMoreAdapter(R.layout.listitem 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_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(R.id.tv_price).typeface = Constants.dDIN_PRO_M holder.getView(R.id.tv_company_avatar).typeface = Constants.almmsht } diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/merchant/list/MerchantGoodsListFragment.kt b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/list/MerchantGoodsListFragment.kt index b84a7a6..f6111f3 100644 --- a/app/src/main/java/com/cheng/bole/ui/fragment/merchant/list/MerchantGoodsListFragment.kt +++ b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/list/MerchantGoodsListFragment.kt @@ -5,6 +5,7 @@ import com.cheng.bole.R import com.cheng.bole.bean.MerchantGoodsBean import com.cheng.bole.databinding.FragmentMerchantGoodsListBinding 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.example.base.decoration.FirstItemOffsetDecoration import com.example.base.ui.list.ListFragment @@ -63,9 +64,10 @@ class MerchantGoodsListFragment : ListFragment(R.layout.listitem_photo_view) { override fun convert(holder: BaseViewHolder, item: String) { - BitmapUtils.compressImg(context, item) { - holder.getView(R.id.iv_photo).load(it) + if (item.startsWith("http")) { + holder.getView(R.id.iv_photo).load(item) + } else { + BitmapUtils.compressImg(context, item) { + holder.getView(R.id.iv_photo).load(it) + } } } } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_bid_detail.xml b/app/src/main/res/layout/fragment_bid_detail.xml index b9b5573..264425e 100644 --- a/app/src/main/res/layout/fragment_bid_detail.xml +++ b/app/src/main/res/layout/fragment_bid_detail.xml @@ -77,10 +77,10 @@ android:paddingStart="@dimen/dp_4" android:paddingEnd="@dimen/dp_4" android:text="全国" - android:textColor="#585D6C" + android:textColor="@color/color_585d6c" android:textSize="@dimen/sp_11" app:csb_cornerRadius="@dimen/dp_3" - app:csb_fillColor="#F4F6FA" + app:csb_fillColor="@color/color_f4f6fa" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tv_content" /> @@ -151,6 +151,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" + android:overScrollMode="never" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" tools:itemCount="2" tools:listitem="@layout/listitem_bid_detail_contact" /> diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index ce12158..51bea49 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -180,7 +180,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_14" - android:text="已更新2.4万条" + android:text="已更新0条" android:textColor="@color/color_666666" android:textSize="@dimen/sp_12" app:layout_constraintBottom_toBottomOf="@id/tv_bid_title" diff --git a/app/src/main/res/layout/fragment_merchant_goods_detail.xml b/app/src/main/res/layout/fragment_merchant_goods_detail.xml new file mode 100644 index 0000000..55f27c6 --- /dev/null +++ b/app/src/main/res/layout/fragment_merchant_goods_detail.xml @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_merchant_home.xml b/app/src/main/res/layout/fragment_merchant_home.xml new file mode 100644 index 0000000..72d7c45 --- /dev/null +++ b/app/src/main/res/layout/fragment_merchant_home.xml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_publish_bid_message.xml b/app/src/main/res/layout/fragment_publish_bid_message.xml index dad77fe..edcad42 100644 --- a/app/src/main/res/layout/fragment_publish_bid_message.xml +++ b/app/src/main/res/layout/fragment_publish_bid_message.xml @@ -327,8 +327,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_40" - android:paddingTop="@dimen/dp_16" - android:paddingBottom="@dimen/dp_16" + android:overScrollMode="never" android:visibility="gone" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layout_constraintEnd_toStartOf="@id/iv_add_contacts" @@ -357,8 +356,8 @@ android:id="@+id/tv_info_title" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:drawablePadding="@dimen/dp_6" android:layout_marginTop="@dimen/dp_16" + android:drawablePadding="@dimen/dp_6" android:fontFamily="sans-serif-medium" android:text="项目信息" android:textColor="@color/color_1a1a1a" @@ -445,8 +444,8 @@ android:textColor="@color/color_999999" android:textSize="@dimen/sp_10" android:visibility="gone" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintStart_toStartOf="parent" /> + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + android:button="@null" + android:checked="true" /> + android:textSize="@dimen/sp_14" /> + android:textSize="@dimen/sp_14" /> @@ -270,8 +270,8 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_68" - android:background="@null" android:layout_marginTop="@dimen/dp_16" + android:background="@null" android:gravity="center_vertical" android:hint="请输入" android:inputType="numberDecimal" @@ -376,6 +376,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_40" + android:overScrollMode="never" android:paddingTop="@dimen/dp_16" android:paddingBottom="@dimen/dp_16" android:visibility="gone" @@ -406,8 +407,8 @@ android:id="@+id/tv_explain_title" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:drawablePadding="@dimen/dp_6" android:layout_marginTop="@dimen/dp_16" + android:drawablePadding="@dimen/dp_6" android:fontFamily="sans-serif-medium" android:text="说明" android:textColor="@color/color_1a1a1a" @@ -460,8 +461,8 @@ android:text="第一张图将作为缩略图" android:textColor="@color/color_666666" 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" /> diff --git a/app/src/main/res/layout/listitem_bid.xml b/app/src/main/res/layout/listitem_bid.xml index 80346aa..da0e65d 100644 --- a/app/src/main/res/layout/listitem_bid.xml +++ b/app/src/main/res/layout/listitem_bid.xml @@ -6,7 +6,7 @@ android:layout_marginStart="@dimen/dp_5" android:layout_marginEnd="@dimen/dp_5" app:hl_cornerRadius="@dimen/dp_8" - app:hl_shadowColor="#0f000000" + app:hl_shadowColor="#0d4a4f5b" app:hl_shadowLimit="@dimen/dp_7"> diff --git a/app/src/main/res/layout/listitem_merchant_contacts.xml b/app/src/main/res/layout/listitem_merchant_contacts.xml new file mode 100644 index 0000000..2433df0 --- /dev/null +++ b/app/src/main/res/layout/listitem_merchant_contacts.xml @@ -0,0 +1,31 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/listitem_merchant_goods.xml b/app/src/main/res/layout/listitem_merchant_goods.xml index d07b709..db1ead5 100644 --- a/app/src/main/res/layout/listitem_merchant_goods.xml +++ b/app/src/main/res/layout/listitem_merchant_goods.xml @@ -81,10 +81,10 @@ android:paddingEnd="@dimen/dp_4" android:singleLine="true" android:text="全国" - android:textColor="#585D6C" + android:textColor="@color/color_585d6c" android:textSize="@dimen/sp_11" 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_constraintEnd_toStartOf="@id/iv_cover" app:layout_constraintTop_toTopOf="@id/tv_price" @@ -95,7 +95,7 @@ android:layout_width="@dimen/dp_20" android:layout_height="@dimen/dp_20" 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:text="永康\n市欧" android:textColor="@color/white" diff --git a/app/src/main/res/layout/listitem_merchant_goods_image.xml b/app/src/main/res/layout/listitem_merchant_goods_image.xml new file mode 100644 index 0000000..37682e2 --- /dev/null +++ b/app/src/main/res/layout/listitem_merchant_goods_image.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/listitem_publish_bid_contacts.xml b/app/src/main/res/layout/listitem_publish_bid_contacts.xml index ca00ec5..2433df0 100644 --- a/app/src/main/res/layout/listitem_publish_bid_contacts.xml +++ b/app/src/main/res/layout/listitem_publish_bid_contacts.xml @@ -9,6 +9,7 @@ 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" @@ -23,6 +24,8 @@ 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" /> \ No newline at end of file diff --git a/app/src/main/res/layout/listitem_selected_source.xml b/app/src/main/res/layout/listitem_selected_source.xml index 2d532a4..235f755 100644 --- a/app/src/main/res/layout/listitem_selected_source.xml +++ b/app/src/main/res/layout/listitem_selected_source.xml @@ -6,7 +6,7 @@ android:layout_marginTop="@dimen/dp_1" android:layout_marginEnd="@dimen/dp_1" app:hl_cornerRadius="@dimen/dp_25" - app:hl_shadowColor="#0f000000" + app:hl_shadowColor="#0d4a4f5b" app:hl_shadowLimit="@dimen/dp_7"> #F8F9FA #3BBF0F #707A89 + #0CA8FF + #E6F6FF + #F4F6FA + #585D6C \ No newline at end of file