Commit b1ce80e8 authored by 小费同学阿's avatar 小费同学阿 💬

功能修复:

商户app商品编辑显示下架原因
parent 4deff8e6
...@@ -2,15 +2,25 @@ package com.xx.merchanthbh.data.http.respons ...@@ -2,15 +2,25 @@ package com.xx.merchanthbh.data.http.respons
import com.xx.merchanthbh.data.http.requst.body.BrankBean import com.xx.merchanthbh.data.http.requst.body.BrankBean
class ProductBean(var businessId:String,var commodityName:String ,var commodityPrice:Double , var detailImagesList:MutableList<Filebean> , class ProductBean(
var commodityCode:String,//商品编号 var businessId: String,
var fileList: MutableList<Filebean>,// 商品图片 var commodityName: String,
var categoryName:String ,//分类名称 var commodityPrice: Double,
var commodityDescriptionText :String,//商品描述 var detailImagesList: MutableList<Filebean>,
var status:String ,//商品状态 1-待提交 2-待审核 3-已上架 4-未上架 5-已驳回 var commodityCode: String,//商品编号
var brandName:String, //商品品牌 var fileList: MutableList<Filebean>,// 商品图片
var brandAuthorization :BrankBean?=null,var categoryNameStr:String?="",var categoryId:String ="",var recentDeactivatedLog:RecentRejectionLogBean?=null var categoryName: String,//分类名称
var commodityDescriptionText: String,//商品描述
var status: String,//商品状态 1-待提交 2-待审核 3-已上架 4-未上架 5-已驳回
var brandName: String, //商品品牌
var brandAuthorization: BrankBean? = null,
var categoryNameStr: String? = "",
var categoryId: String = "",
var recentDeactivatedLog: RecentRejectionLogBean? = null
) { ) {
} }
data class RecentRejectionLogBean(var mark:String) data class RecentRejectionLogBean(/*下架原因*/var mark: String,
\ No newline at end of file /*操作人*/var operator: String
)
\ No newline at end of file
package com.xx.merchanthbh.data.http.respons
/*驳回原因*/
class RejectionShelfBean(
/**/
var deFlag: Boolean,
/*操作人*/
var operator: String,
/*下架原因*/
var remark: String
) {
}
\ No newline at end of file
package com.xx.merchanthbh.dialog
import android.content.Context
import android.view.Gravity
import android.view.WindowManager
import androidx.databinding.ObservableField
import com.xx.merchanthbh.R
import com.xx.merchanthbh.databinding.DialogOffshelfReasonBinding
import com.xx.merchanthbh.databinding.DialogRejectionReasonBinding
import com.xx.xxviewlibrary.base.xxBaseDialog
import me.jessyan.autosize.utils.AutoSizeUtils
class OffShelfDialog(context: Context, private val rejectionPerson: String, private val rejectionReason: String) : xxBaseDialog<DialogOffshelfReasonBinding>(context) {
var rejectionPersons = ObservableField("")
var rejectionReasons = ObservableField("")
override fun InitView(): DialogSet {
return DialogSet(
R.layout.dialog_offshelf_reason, true,
Gravity.CENTER_VERTICAL, true, WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.WRAP_CONTENT
)
}
override fun InitData() {
binding.offShelfDialog = this
binding.btnConfirm.setOnClickListener {
dismiss()
}
/*给反驳原因赋值*/
rejectionPersons.set(rejectionPerson);
/*给反驳原因赋值*/
rejectionReasons.set(rejectionReason);
}
}
\ No newline at end of file
...@@ -6,7 +6,9 @@ import android.view.View ...@@ -6,7 +6,9 @@ import android.view.View
import com.xx.merchanthbh.BR import com.xx.merchanthbh.BR
import com.xx.merchanthbh.R import com.xx.merchanthbh.R
import com.xx.merchanthbh.data.http.requst.AddProductRequest import com.xx.merchanthbh.data.http.requst.AddProductRequest
import com.xx.merchanthbh.data.http.respons.RejectionShelfBean
import com.xx.merchanthbh.databinding.ActivityAddProductBinding import com.xx.merchanthbh.databinding.ActivityAddProductBinding
import com.xx.merchanthbh.dialog.OffShelfDialog
import com.xx.xxviewlibrary.base.xxBaseRecyclerViewAdapter.OnItemClick import com.xx.xxviewlibrary.base.xxBaseRecyclerViewAdapter.OnItemClick
import com.xx.xxviewlibrary.utils.AddImgAdapter import com.xx.xxviewlibrary.utils.AddImgAdapter
import com.xx.xxviewlibrary.witget.model.FileBean import com.xx.xxviewlibrary.witget.model.FileBean
...@@ -57,6 +59,27 @@ class AddProductActivity : BaseActivity<ActivityAddProductBinding, AddProductVie ...@@ -57,6 +59,27 @@ class AddProductActivity : BaseActivity<ActivityAddProductBinding, AddProductVie
binding.btnAapDraft.visibility= View.GONE; binding.btnAapDraft.visibility= View.GONE;
} }
/*下架原因回显*/
val rejectionReason = viewModel.remark.value
viewModel.showOffShelfDialog.observe(
this
) { show: RejectionShelfBean? ->
val rejectionPerson = viewModel.operator.value
val rejectionReason = viewModel.remark.value
val rejectionDialog =
OffShelfDialog(this, rejectionPerson!!, rejectionReason!!)
rejectionDialog.show()
}
// 如果有下架原因则显示控件
viewModel.remark.observe(this) { remark: String? ->
if (remark != null) {
// binding.rejectReasonTip.visibility = View.VISIBLE
}
}
} }
......
...@@ -2,6 +2,7 @@ package com.xx.merchanthbh.ui.addproduct; ...@@ -2,6 +2,7 @@ package com.xx.merchanthbh.ui.addproduct;
import android.app.Application; import android.app.Application;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log;
import android.view.View; import android.view.View;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
...@@ -17,6 +18,7 @@ import com.xx.merchanthbh.data.http.respons.BoothBean; ...@@ -17,6 +18,7 @@ import com.xx.merchanthbh.data.http.respons.BoothBean;
import com.xx.merchanthbh.data.http.respons.CategoryBean; import com.xx.merchanthbh.data.http.respons.CategoryBean;
import com.xx.merchanthbh.data.http.respons.Filebean; import com.xx.merchanthbh.data.http.respons.Filebean;
import com.xx.merchanthbh.data.http.respons.ProductBean; import com.xx.merchanthbh.data.http.respons.ProductBean;
import com.xx.merchanthbh.data.http.respons.RejectionShelfBean;
import com.xx.merchanthbh.dialog.BoothListDialog; import com.xx.merchanthbh.dialog.BoothListDialog;
import com.xx.merchanthbh.dialog.ProductTypeDialog; import com.xx.merchanthbh.dialog.ProductTypeDialog;
import com.xx.merchanthbh.dialog.data.ProductTypeProvider; import com.xx.merchanthbh.dialog.data.ProductTypeProvider;
...@@ -46,7 +48,12 @@ import me.goldze.mvvmhabit.utils.StringUtils; ...@@ -46,7 +48,12 @@ import me.goldze.mvvmhabit.utils.StringUtils;
import me.goldze.mvvmhabit.utils.ToastUtils; import me.goldze.mvvmhabit.utils.ToastUtils;
public class AddProductViewModel extends BaseViewModel<AddProductRequest> { public class AddProductViewModel extends BaseViewModel<AddProductRequest> {
/*操作人*/
public MutableLiveData<String> operator = new MutableLiveData<>(null);
/*下架原因*/
public MutableLiveData<String> remark = new MutableLiveData<>(null);
//展示下架原因弹窗
public MutableLiveData<RejectionShelfBean> showOffShelfDialog = new MutableLiveData<>();
public String goodsId=null; public String goodsId=null;
...@@ -337,6 +344,21 @@ public class AddProductViewModel extends BaseViewModel<AddProductRequest> { ...@@ -337,6 +344,21 @@ public class AddProductViewModel extends BaseViewModel<AddProductRequest> {
}).subscribe(new ApiDisposableObserver<ProductBean>() { }).subscribe(new ApiDisposableObserver<ProductBean>() {
@Override @Override
public void onSuccess(ProductBean resultBean) { public void onSuccess(ProductBean resultBean) {
/*下架原因字段判空*/
if (resultBean.getStatus().equals("4")) {
/*获取下架人*/
if (resultBean.getRecentDeactivatedLog() != null && resultBean.getRecentDeactivatedLog().getOperator() != null && !resultBean.getRecentDeactivatedLog().getMark().isEmpty()) {
operator.setValue(resultBean.getRecentDeactivatedLog().getOperator());
} else {
Log.e("下架人为空", "RecentDeactivatedLog or its operator is null or empty");
}
/*获取下架原因*/
if (resultBean.getRecentDeactivatedLog() != null && resultBean.getRecentDeactivatedLog().getMark() != null && !resultBean.getRecentDeactivatedLog().getMark().isEmpty()) {
remark.setValue(resultBean.getRecentDeactivatedLog().getMark());
} else {
Log.e("下架原因为空", "RecentDeactivatedLog or its mark is null or empty");
}
}
if (resultBean.getRecentDeactivatedLog()==null) if (resultBean.getRecentDeactivatedLog()==null)
{ {
...@@ -410,10 +432,14 @@ public class AddProductViewModel extends BaseViewModel<AddProductRequest> { ...@@ -410,10 +432,14 @@ public class AddProductViewModel extends BaseViewModel<AddProductRequest> {
brandDeleteGone.set(View.GONE); brandDeleteGone.set(View.GONE);
} }
/**
public void showReason(View view) * 查看商品下架原因
{ */
showCommTextDialog(new RefuseDialogBean(RecentRejectionStr,"确定",null,"下架意见"), new CommTextDialog.onAcceptCallBack() { public void showReason(View view) {
boolean deFlag = true;
RejectionShelfBean rejectionShelfBean = new RejectionShelfBean(deFlag, operator.getValue(),remark.getValue());
showOffShelfDialog.postValue(rejectionShelfBean);
/* showCommTextDialog(new RefuseDialogBean(RecentRejectionStr,"确定",null,"下架意见"), new CommTextDialog.onAcceptCallBack() {
@Override @Override
public void acceptBack() { public void acceptBack() {
...@@ -423,7 +449,7 @@ public class AddProductViewModel extends BaseViewModel<AddProductRequest> { ...@@ -423,7 +449,7 @@ public class AddProductViewModel extends BaseViewModel<AddProductRequest> {
public void refuseBack() { public void refuseBack() {
} }
}); });*/
} }
} }
package com.xx.merchanthbh.ui.productdetail package com.xx.merchanthbh.ui.productdetail
import android.os.Bundle import android.os.Bundle
import android.view.View
import com.xx.merchanthbh.BR import com.xx.merchanthbh.BR
import com.xx.merchanthbh.R import com.xx.merchanthbh.R
import com.xx.merchanthbh.data.http.requst.AddProductRequest import com.xx.merchanthbh.data.http.requst.AddProductRequest
import com.xx.merchanthbh.data.http.respons.RejectionBean
import com.xx.merchanthbh.data.http.respons.RejectionShelfBean
import com.xx.merchanthbh.databinding.ActivityDetailProductBinding import com.xx.merchanthbh.databinding.ActivityDetailProductBinding
import com.xx.merchanthbh.ui.addproduct.AddProductViewModel import com.xx.merchanthbh.dialog.OffShelfDialog
import com.xx.xxviewlibrary.base.xxBaseRecyclerViewAdapter import com.xx.merchanthbh.dialog.RejectionDialog
import com.xx.xxviewlibrary.utils.AddImgAdapter
import com.xx.xxviewlibrary.utils.ImgAdapter import com.xx.xxviewlibrary.utils.ImgAdapter
import com.xx.xxviewlibrary.witget.model.FileBean
import me.goldze.mvvmhabit.base.BaseActivity import me.goldze.mvvmhabit.base.BaseActivity
class ProductDetailActivity: BaseActivity<ActivityDetailProductBinding, ProductDetailViewModel>() { class ProductDetailActivity : BaseActivity<ActivityDetailProductBinding, ProductDetailViewModel>() {
override fun initContentView(savedInstanceState: Bundle?): Int { override fun initContentView(savedInstanceState: Bundle?): Int {
return R.layout.activity_detail_product return R.layout.activity_detail_product
} }
...@@ -25,22 +26,25 @@ class ProductDetailActivity: BaseActivity<ActivityDetailProductBinding, ProductD ...@@ -25,22 +26,25 @@ class ProductDetailActivity: BaseActivity<ActivityDetailProductBinding, ProductD
super.initData() super.initData()
viewModel.getInfo(intent.getStringExtra("goodsId")); viewModel.getInfo(intent.getStringExtra("goodsId"));
viewModel.productAdapter= ImgAdapter(this,ArrayList())
binding.rvAapProduct.adapter=viewModel.productAdapter
viewModel.productAdapter = ImgAdapter(this, ArrayList())
binding.rvAapProduct.adapter = viewModel.productAdapter
viewModel.detailAdapter= ImgAdapter(this,ArrayList())
binding.rvAapDetail.adapter=viewModel.detailAdapter
viewModel.brandAdapter= ImgAdapter(this,ArrayList()) viewModel.detailAdapter = ImgAdapter(this, ArrayList())
binding.rvAapDetailBrand.adapter=viewModel.brandAdapter binding.rvAapDetail.adapter = viewModel.detailAdapter
viewModel.brandAdapter = ImgAdapter(this, ArrayList())
binding.rvAapDetailBrand.adapter = viewModel.brandAdapter
} }
override fun initViewModel(): ProductDetailViewModel { override fun initViewModel(): ProductDetailViewModel {
val lm: AddProductRequest = AddProductRequest() val lm: AddProductRequest = AddProductRequest()
return ProductDetailViewModel(application,lm) return ProductDetailViewModel(application, lm)
} }
} }
\ No newline at end of file
...@@ -2,80 +2,67 @@ package com.xx.merchanthbh.ui.productdetail; ...@@ -2,80 +2,67 @@ package com.xx.merchanthbh.ui.productdetail;
import android.app.Application; import android.app.Application;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.ImageView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.databinding.ObservableField; import androidx.databinding.ObservableField;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import com.huantansheng.easyphotos.callback.SelectCallback;
import com.huantansheng.easyphotos.models.album.entity.Photo;
import com.xx.merchanthbh.R;
import com.xx.merchanthbh.data.http.requst.AddProductRequest; import com.xx.merchanthbh.data.http.requst.AddProductRequest;
import com.xx.merchanthbh.data.http.respons.CategoryBean;
import com.xx.merchanthbh.data.http.respons.Filebean; import com.xx.merchanthbh.data.http.respons.Filebean;
import com.xx.merchanthbh.data.http.respons.ProductBean; import com.xx.merchanthbh.data.http.respons.ProductBean;
import com.xx.merchanthbh.dialog.BoothListDialog; import com.xx.merchanthbh.data.http.respons.RejectionBean;
import com.xx.merchanthbh.dialog.ProductTypeDialog; import com.xx.merchanthbh.data.http.respons.RejectionShelfBean;
import com.xx.merchanthbh.dialog.data.ProductTypeProvider; import com.xx.merchanthbh.dialog.data.ProductTypeProvider;
import com.xx.merchanthbh.dialog.data.TextListProvider;
import com.xx.xxviewlibrary.base.xxBaseDialog;
import com.xx.xxviewlibrary.utils.AddImgAdapter;
import com.xx.xxviewlibrary.utils.ImgAdapter; import com.xx.xxviewlibrary.utils.ImgAdapter;
import com.xx.xxviewlibrary.witget.model.FileBean; import com.xx.xxviewlibrary.witget.model.FileBean;
import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import io.reactivex.rxjava3.core.Observable;
import io.reactivex.rxjava3.disposables.Disposable; import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.functions.Consumer; import io.reactivex.rxjava3.functions.Consumer;
import me.goldze.mvvmhabit.base.BaseViewModel; import me.goldze.mvvmhabit.base.BaseViewModel;
import me.goldze.mvvmhabit.http.ApiDisposableObserver; import me.goldze.mvvmhabit.http.ApiDisposableObserver;
import me.goldze.mvvmhabit.http.BaseResponse;
import me.goldze.mvvmhabit.utils.RxUtils; import me.goldze.mvvmhabit.utils.RxUtils;
import me.goldze.mvvmhabit.utils.StringUtils;
import me.goldze.mvvmhabit.utils.ToastUtils;
public class ProductDetailViewModel extends BaseViewModel<AddProductRequest> { public class ProductDetailViewModel extends BaseViewModel<AddProductRequest> {
public String goodsId=null; public String goodsId = null;
public MutableLiveData<String> name; public MutableLiveData<String> name;
public MutableLiveData<Integer> brandGone=new MutableLiveData(View.GONE); public MutableLiveData<Integer> brandGone = new MutableLiveData(View.GONE);
public MutableLiveData<Integer> imgGone=new MutableLiveData(View.GONE);
public MutableLiveData<Integer> imgGone = new MutableLiveData(View.GONE);
/** /**
* productAdapter 商品图片 * productAdapter 商品图片
* detailAdapter 详细图片 * detailAdapter 详细图片
*/ */
public ImgAdapter productAdapter,detailAdapter,brandAdapter; public ImgAdapter productAdapter, detailAdapter, brandAdapter;
public ProductTypeProvider categoryDialogData; public ProductTypeProvider categoryDialogData;
public ObservableField<String> pNumber= new ObservableField<>(""); public ObservableField<String> pNumber = new ObservableField<>("");
public ObservableField<String> pName= new ObservableField<>(""); public ObservableField<String> pName = new ObservableField<>("");
public ObservableField<String> pDescribe= new ObservableField<>(""); public ObservableField<String> pDescribe = new ObservableField<>("");
public ObservableField<String> pPrice= new ObservableField<>(""); public ObservableField<String> pPrice = new ObservableField<>("");
public ObservableField<String> pType= new ObservableField<>("请选择"); public ObservableField<String> pType = new ObservableField<>("请选择");
public String typeId=""; public String typeId = "";
public ObservableField<String> pBrand= new ObservableField<>(); public ObservableField<String> pBrand = new ObservableField<>();
public String brandID=null; public String brandID = null;
public ProductDetailViewModel(@NonNull Application application) { public ProductDetailViewModel(@NonNull Application application) {
super(application); super(application);
...@@ -100,19 +87,18 @@ public class ProductDetailViewModel extends BaseViewModel<AddProductRequest> { ...@@ -100,19 +87,18 @@ public class ProductDetailViewModel extends BaseViewModel<AddProductRequest> {
/** /**
* 获取商品详情 * 获取商品详情
*
* @param id * @param id
*/ */
public void getInfo(String id) public void getInfo(String id) {
{
goodsId=id; goodsId = id;
model.getProductInfo(id).compose(RxUtils.schedulersTransformer()) //线程调度 model.getProductInfo(id).compose(RxUtils.schedulersTransformer()) //线程调度
.doOnSubscribe(ProductDetailViewModel.this) .doOnSubscribe(ProductDetailViewModel.this)
.doOnSubscribe (new Consumer<Disposable>() { .doOnSubscribe(new Consumer<Disposable>() {
@Override @Override
public void accept(Disposable disposable) throws Exception { public void accept(Disposable disposable) throws Exception {
...@@ -121,53 +107,42 @@ public class ProductDetailViewModel extends BaseViewModel<AddProductRequest> { ...@@ -121,53 +107,42 @@ public class ProductDetailViewModel extends BaseViewModel<AddProductRequest> {
@Override @Override
public void onSuccess(ProductBean resultBean) { public void onSuccess(ProductBean resultBean) {
if (!TextUtils.isEmpty(resultBean.getCommodityCode())) /*驳回原因赋值*/
{ if (!TextUtils.isEmpty(resultBean.getCommodityCode())) {
pNumber.set(resultBean.getCommodityCode()); pNumber.set(resultBean.getCommodityCode());
} }
pName.set(resultBean.getCommodityName()); pName.set(resultBean.getCommodityName());
for (Filebean bean : resultBean.getFileList()) {
for (Filebean bean:resultBean.getFileList()) productAdapter.mList.add(new FileBean(bean.getBusinessId(), bean.getUrl()));
{
productAdapter.mList.add(new FileBean(bean.getBusinessId(),bean.getUrl()));
} }
productAdapter.notifyDataSetChanged(); productAdapter.notifyDataSetChanged();
//详细图片 //详细图片
if (resultBean.getDetailImagesList()==null || resultBean.getDetailImagesList().size()<=0) if (resultBean.getDetailImagesList() == null || resultBean.getDetailImagesList().size() <= 0) {
{
imgGone.setValue(View.GONE); imgGone.setValue(View.GONE);
}else { } else {
imgGone.setValue(View.VISIBLE); imgGone.setValue(View.VISIBLE);
for (Filebean bean:resultBean.getDetailImagesList()) for (Filebean bean : resultBean.getDetailImagesList()) {
{ detailAdapter.mList.add(new FileBean(bean.getBusinessId(), bean.getUrl()));
detailAdapter.mList.add(new FileBean(bean.getBusinessId(),bean.getUrl()));
} }
detailAdapter.notifyDataSetChanged(); detailAdapter.notifyDataSetChanged();
} }
if (resultBean.getBrandAuthorization()==null) if (resultBean.getBrandAuthorization() == null) {
{
brandGone.setValue(View.GONE); brandGone.setValue(View.GONE);
}else { } else {
brandGone.setValue(View.VISIBLE); brandGone.setValue(View.VISIBLE);
for (Filebean bean:resultBean.getBrandAuthorization().getFileList()) for (Filebean bean : resultBean.getBrandAuthorization().getFileList()) {
{ brandAdapter.mList.add(new FileBean(bean.getBusinessId(), bean.getUrl()));
brandAdapter.mList.add(new FileBean(bean.getBusinessId(),bean.getUrl()));
} }
brandAdapter.notifyDataSetChanged(); brandAdapter.notifyDataSetChanged();
} }
pType.set(resultBean.getCategoryNameStr()); pType.set(resultBean.getCategoryNameStr());
pPrice.set(resultBean.getCommodityPrice()+""); pPrice.set(resultBean.getCommodityPrice() + "");
if (!TextUtils.isEmpty(resultBean.getCommodityDescriptionText())) { if (!TextUtils.isEmpty(resultBean.getCommodityDescriptionText())) {
pDescribe.set(resultBean.getCommodityDescriptionText()); pDescribe.set(resultBean.getCommodityDescriptionText());
...@@ -188,5 +163,4 @@ public class ProductDetailViewModel extends BaseViewModel<AddProductRequest> { ...@@ -188,5 +163,4 @@ public class ProductDetailViewModel extends BaseViewModel<AddProductRequest> {
} }
} }
...@@ -45,7 +45,6 @@ ...@@ -45,7 +45,6 @@
android:layout_margin="17dp" android:layout_margin="17dp"
android:background="@drawable/bg_white_radius_12" android:background="@drawable/bg_white_radius_12"
android:orientation="vertical"> android:orientation="vertical">
<com.xx.xxviewlibrary.witget.XxFormEdit <com.xx.xxviewlibrary.witget.XxFormEdit
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<!--下架原因弹窗ui-->
<variable
name="offShelfDialog"
type="com.xx.merchanthbh.dialog.OffShelfDialog" />
<import type="me.goldze.mvvmhabit.binding.viewadapter.recyclerview.LayoutManagers" />
<import type="me.goldze.mvvmhabit.binding.viewadapter.recyclerview.LineManagers" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:background="@drawable/bg_white_radius_12">
<LinearLayout
android:id="@+id/ll_tips"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="22dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:lineSpacingExtra="22dp"
android:text="下架原因"
android:textColor="#FF333333"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="26dp"
android:layout_marginTop="22dp"
android:layout_marginRight="26dp"
android:gravity="center"
android:lineSpacingExtra="5dp"
android:text='@{"下架人: " + offShelfDialog.rejectionPersons}'
android:textColor="#FF333333"
android:textSize="18sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="26dp"
android:layout_marginTop="22dp"
android:layout_marginRight="26dp"
android:gravity="center"
android:lineSpacingExtra="5dp"
android:text='@{"下架人: " + offShelfDialog.rejectionReasons}'
android:textColor="#FF333333"
android:textSize="18sp" />
</LinearLayout>
<!--分割线-->
<View
android:id="@+id/divider"
android:layout_width="wrap_content"
android:layout_height="1dp"
android:layout_below="@id/ll_tips"
android:layout_marginTop="35dp"
android:background="@drawable/divider" />
<TextView
android:id="@+id/btn_confirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/divider"
android:layout_marginTop="16.5dp"
android:layout_marginBottom="21dp"
android:gravity="center"
android:text="确定"
android:textColor="#FF5971A4"
android:textSize="16sp"
android:textStyle="bold" />
</RelativeLayout>
</RelativeLayout>
</LinearLayout>
</layout>
\ 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