MVp+RXJava+Retrofit+RecyclerView展示首页和详情页

添加依赖
compile 'io.reactivex:rxandroid:1.1.0'
compile 'com.squareup.retrofit2:retrofit:2.0.1'
compile 'com.squareup.retrofit2:converter-gson:2.0.1'
compile 'com.squareup.retrofit2:adapter-rxjava:2.0.1'
compile 'com.google.code.gson:gson:2.8.1'
compile 'com.android.support:recyclerview-v7:26.+'
compile 'com.squareup.okhttp3:okhttp:3.9.0'
compile 'com.squareup.okio:okio:1.13.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
compile 'com.facebook.fresco:fresco:0.12.0'
compile 'com.youth.banner:banner:1.4.9'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.jakewharton:butterknife:7.0.1'
testCompile 'junit:junit:4.12'
compile 'org.greenrobot:eventbus:3.1.1'




public class Api {
    public static final String PATH = "http://120.27.23.105/";
}


public class MyBean {
private String msg;
private String code;
private TuijianBean tuijian;
private MiaoshaBean miaosha;
private List<DataBean> data;

public String getMsg() {
    return msg;
}

public void setMsg(String msg) {
    this.msg = msg;
}

public String getCode() {
    return code;
}

public void setCode(String code) {
    this.code = code;
}

public TuijianBean getTuijian() {
    return tuijian;
}

public void setTuijian(TuijianBean tuijian) {
    this.tuijian = tuijian;
}

public MiaoshaBean getMiaosha() {
    return miaosha;
}

public void setMiaosha(MiaoshaBean miaosha) {
    this.miaosha = miaosha;
}

public List<DataBean> getData() {
    return data;
}

public void setData(List<DataBean> data) {
    this.data = data;
}

public static class TuijianBean {
private String name;
private List<ListBean> list;

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public List<ListBean> getList() {
    return list;
}

public void setList(List<ListBean> list) {
    this.list = list;
}

public static class ListBean {

 private int bargainPrice;
        private String createtime;
        private String detailUrl;
        private String images;
        private int itemtype;
        private int pid;
        private double price;
        private int pscid;
        private int salenum;
        private int sellerid;
        private String subhead;
        private String title;

        public int getBargainPrice() {
            return bargainPrice;
        }

        public void setBargainPrice(int bargainPrice) {
            this.bargainPrice = bargainPrice;
        }

        public String getCreatetime() {
            return createtime;
        }

        public void setCreatetime(String createtime) {
            this.createtime = createtime;
        }

        public String getDetailUrl() {
            return detailUrl;
        }

        public void setDetailUrl(String detailUrl) {
            this.detailUrl = detailUrl;
        }

        public String getImages() {
            return images;
        }

        public void setImages(String images) {
            this.images = images;
        }

        public int getItemtype() {
            return itemtype;
        }

        public void setItemtype(int itemtype) {
            this.itemtype = itemtype;
        }

        public int getPid() {
            return pid;
        }

        public void setPid(int pid) {
            this.pid = pid;
        }

        public double getPrice() {
            return price;
        }

        public void setPrice(double price) {
            this.price = price;
        }

        public int getPscid() {
            return pscid;
        }

        public void setPscid(int pscid) {
            this.pscid = pscid;
        }

        public int getSalenum() {
            return salenum;
        }

        public void setSalenum(int salenum) {
            this.salenum = salenum;
        }

        public int getSellerid() {
            return sellerid;
        }

        public void setSellerid(int sellerid) {
            this.sellerid = sellerid;
        }

        public String getSubhead() {
            return subhead;
        }

        public void setSubhead(String subhead) {
            this.subhead = subhead;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }
    }
}

public static class MiaoshaBean {
private String name;
private int time;
private List<ListBeanX> list;

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getTime() {
    return time;
}

public void setTime(int time) {
    this.time = time;
}

public List<ListBeanX> getList() {
    return list;
}

public void setList(List<ListBeanX> list) {
    this.list = list;
}

public static class ListBeanX {
 private int bargainPrice;
        private String createtime;
        private String detailUrl;
        private String images;
        private int itemtype;
        private int pid;
        private double price;
        private int pscid;
        private int salenum;
        private int sellerid;
        private String subhead;
        private String title;

        public int getBargainPrice() {
            return bargainPrice;
        }

        public void setBargainPrice(int bargainPrice) {
            this.bargainPrice = bargainPrice;
        }

        public String getCreatetime() {
            return createtime;
        }

        public void setCreatetime(String createtime) {
            this.createtime = createtime;
        }

        public String getDetailUrl() {
            return detailUrl;
        }

        public void setDetailUrl(String detailUrl) {
            this.detailUrl = detailUrl;
        }

        public String getImages() {
            return images;
        }

        public void setImages(String images) {
            this.images = images;
        }

        public int getItemtype() {
            return itemtype;
        }

        public void setItemtype(int itemtype) {
            this.itemtype = itemtype;
        }

        public int getPid() {
            return pid;
        }

        public void setPid(int pid) {
            this.pid = pid;
        }

        public double getPrice() {
            return price;
        }

        public void setPrice(double price) {
            this.price = price;
        }

        public int getPscid() {
            return pscid;
        }

        public void setPscid(int pscid) {
            this.pscid = pscid;
        }

        public int getSalenum() {
            return salenum;
        }

        public void setSalenum(int salenum) {
            this.salenum = salenum;
        }

        public int getSellerid() {
            return sellerid;
        }

        public void setSellerid(int sellerid) {
            this.sellerid = sellerid;
        }

        public String getSubhead() {
            return subhead;
        }

        public void setSubhead(String subhead) {
            this.subhead = subhead;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }
    }
}

public static class DataBean {
 private int aid;
        private String createtime;
        private String icon;
        private Object productId;
        private String title;
        private int type;
        private String url;

        public int getAid() {
            return aid;
        }

        public void setAid(int aid) {
            this.aid = aid;
        }

        public String getCreatetime() {
            return createtime;
        }

        public void setCreatetime(String createtime) {
            this.createtime = createtime;
        }

        public String getIcon() {
            return icon;
        }

        public void setIcon(String icon) {
            this.icon = icon;
        }

        public Object getProductId() {
            return productId;
        }

        public void setProductId(Object productId) {
            this.productId = productId;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public int getType() {
            return type;
        }

        public void setType(int type) {
            this.type = type;
        }

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }
    }
}




public class XQBean {
private String msg;
private SellerBean seller;
private String code;
private DataBean data;

public String getMsg() {
    return msg;
}

public void setMsg(String msg) {
    this.msg = msg;
}

public SellerBean getSeller() {
    return seller;
}

public void setSeller(SellerBean seller) {
    this.seller = seller;
}

public String getCode() {
    return code;
}

public void setCode(String code) {
    this.code = code;
}

public DataBean getData() {
    return data;
}

public void setData(DataBean data) {
    this.data = data;
}

public static class SellerBean {
private String description;
    private String icon;
    private String name;
    private int productNums;
    private int score;
    private int sellerid;

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getProductNums() {
        return productNums;
    }

    public void setProductNums(int productNums) {
        this.productNums = productNums;
    }

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }

    public int getSellerid() {
        return sellerid;
    }

    public void setSellerid(int sellerid) {
        this.sellerid = sellerid;
    }
}

public static class DataBean {
 private double bargainPrice;
        private String createtime;
        private String detailUrl;
        private String images;
        private int itemtype;
        private int pid;
        private double price;
        private int pscid;
        private int salenum;
        private int sellerid;
        private String subhead;
        private String title;

        public double getBargainPrice() {
            return bargainPrice;
        }

        public void setBargainPrice(double bargainPrice) {
            this.bargainPrice = bargainPrice;
        }

        public String getCreatetime() {
            return createtime;
        }

        public void setCreatetime(String createtime) {
            this.createtime = createtime;
        }

        public String getDetailUrl() {
            return detailUrl;
        }

        public void setDetailUrl(String detailUrl) {
            this.detailUrl = detailUrl;
        }

        public String getImages() {
            return images;
        }

        public void setImages(String images) {
            this.images = images;
        }

        public int getItemtype() {
            return itemtype;
        }

        public void setItemtype(int itemtype) {
            this.itemtype = itemtype;
        }

        public int getPid() {
            return pid;
        }

        public void setPid(int pid) {
            this.pid = pid;
        }

        public double getPrice() {
            return price;
        }

        public void setPrice(double price) {
            this.price = price;
        }

        public int getPscid() {
            return pscid;
        }

        public void setPscid(int pscid) {
            this.pscid = pscid;
        }

        public int getSalenum() {
            return salenum;
        }

        public void setSalenum(int salenum) {
            this.salenum = salenum;
        }

        public int getSellerid() {
            return sellerid;
        }

        public void setSellerid(int sellerid) {
            this.sellerid = sellerid;
        }

        public String getSubhead() {
            return subhead;
        }

        public void setSubhead(String subhead) {
            this.subhead = subhead;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }
    }
}






public interface ApiService {
    @GET("ad/getAd")
    Observable<MyBean> getdatas();
    //商品详情
    @FormUrlEncoded
    @POST("product/getProductDetail")
    Observable<XQBean> getGoodsInfo(@Field("pid") String pid, @Field("source") String source);
}


public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Fresco.initialize(this);
    }
}


public interface IView {
    void showList(List<MyBean.TuijianBean.ListBean> list);
    void showError(String e);

}



public interface OnRequestListener {
    void OnSuccess(List<MyBean.TuijianBean.ListBean> list);
    void OnError(String e);

}


public interface IModel {
    void RequestData(String url,OnRequestListener onRequestListener);

}


public class Model implements IModel {
    @Override
    public void RequestData(String url, final OnRequestListener onRequestListener) {
        //retrofit网络请求
        Retrofit retrofit = new Retrofit
                .Builder()
                .baseUrl(url)
                .addConverterFactory(GsonConverterFactory.create())
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())

                .build();
        ApiService apiService = retrofit.create(ApiService.class);
        //结合rxjava
        Observable<MyBean> getdatas = apiService.getdatas();
        getdatas.subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<MyBean>() {
                    @Override
                    public void onCompleted() {

                    }

                    @Override
                    public void onError(Throwable e) {
                        onRequestListener.OnError(e.getMessage().toString());
                    }

                    @Override
                    public void onNext(MyBean myBean) {
                        List<MyBean.TuijianBean.ListBean> list = myBean.getTuijian().getList();
                        onRequestListener.OnSuccess(list);
                    }
                });
    }


}




public interface IPresenter {
    void loadList(String url);

}



public class Presenter implements IPresenter {
    private IView iView;
    private IModel iModel;

    public Presenter(IView iView) {
        this.iView = iView;
        iModel = new Model();
    }
    @Override
    public void loadList(String url) {
        iModel.RequestData(url, new OnRequestListener() {
            @Override
            public void OnSuccess(List<MyBean.TuijianBean.ListBean> list) {
                iView.showList(list);
            }

            @Override
            public void OnError(String e) {
               iView.showError(e);
            }


        });

    }


}





public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
    private Context context;
    private List<MyBean.TuijianBean.ListBean> list;

    public MyAdapter(Context context, List<MyBean.TuijianBean.ListBean> list) {
        this.context = context;
        this.list = list;
    }

    @Override
    public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.item_my, parent, false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(MyAdapter.ViewHolder holder, final int position) {
        String images = list.get(position).getImages();
        String[] split = images.split("\\|");
        holder.img.setImageURI(split[0]);
        holder.title.setText(list.get(position).getTitle());
        holder.price.setText("¥"+list.get(position).getPrice());
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                EventBus.getDefault().postSticky(new MessageEvent(list.get(position).getPid()+""));
                Intent intent = new Intent(context, SecondActivity.class);
                context.startActivity(intent);
            }
        });

    }

    @Override
    public int getItemCount() {
        return list.size();
    }
    public class ViewHolder extends RecyclerView.ViewHolder{
        public SimpleDraweeView img;
        public TextView title,price;
        public ViewHolder(View itemView) {
            super(itemView);
            img=itemView.findViewById(R.id.item_img);
            title=itemView.findViewById(R.id.title);
            price=itemView.findViewById(R.id.price);
        }
    }
}



public class MessageEvent {
    String pid;

    public MessageEvent(String pid) {
        this.pid = pid;
    }

    public String getPid() {
        return pid;
    }

    public void setPid(String pid) {
        this.pid = pid;
    }
}



public class MainActivity extends AppCompatActivity implements IView{

    @Bind(R.id.recycler)
    RecyclerView recycler;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
        LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this);
        recycler.setLayoutManager(linearLayoutManager);
        Presenter presenter = new Presenter(this);
        presenter.loadList(Api.PATH);
    }

    @Override
    public void showList(List<MyBean.TuijianBean.ListBean> list) {
        MyAdapter myAdapter = new MyAdapter(MainActivity.this, list);
        recycler.setAdapter(myAdapter);
    }

    @Override
    public void showError(String e) {

    }


}




public class SecondActivity extends AppCompatActivity{

    @Bind(R.id.goodsImg)
    ImageView goodsImg;
    @Bind(R.id.goodsTitle)
    TextView goodsTitle;
    @Bind(R.id.bargainPrice)
    TextView bargainPrice;
    @Bind(original_price)
    TextView originalPrice;
    @Bind(R.id.salenum)
    TextView salenum;
    @Bind(R.id.change)
    RelativeLayout change;
    @Bind(R.id.gongyingshang)
    TextView gongyingshang;
    @Bind(R.id.dianpu)
    TextView dianpu;
    @Bind(R.id.guanzhu)
    CheckBox guanzhu;
    @Bind(R.id.gouwuche)
    TextView gouwuche;
    @Bind(R.id.add_Buy)
    Button addBuy;
    private String pid;
    //    private int pid;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        ButterKnife.bind(this);
        EventBus.getDefault().register(this);
//        EventBus.getDefault().register(XiangQing.this);

        Retrofit retrofit = new Retrofit.Builder().baseUrl(Api.PATH)
                .addConverterFactory(GsonConverterFactory.create())
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                .build();
        ApiService apiService = retrofit.create(ApiService.class);
        Observable<XQBean> goodsInfo = apiService.getGoodsInfo(pid,"android");
        goodsInfo.subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<XQBean>() {
                    @Override
                    public void onCompleted() {

                    }

                    @Override
                    public void onError(Throwable e) {

                    }

                    @Override
                    public void onNext(XQBean xqBean) {

                        String[] images = xqBean.getData().getImages().split("\\|");
                        Glide.with(SecondActivity.this).load(images[0]).into(goodsImg);
                        goodsTitle.setText(xqBean.getData().getTitle());
                        bargainPrice.setText("¥"+xqBean.getData().getBargainPrice());
                        originalPrice.setText("原价 "+xqBean.getData().getPrice());
                        originalPrice.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
                        salenum.setText("销量" +xqBean.getData().getSalenum());
                    }
                });

    }
    @Subscribe(threadMode = ThreadMode.MAIN)
    public void onMessage(MessageEvent event) {
        pid = event.getPid();
        Toast.makeText(this, "pid"+ pid, Toast.LENGTH_SHORT).show();
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        EventBus.getDefault().unregister(this);
    }


}




activity_main
<android.support.v7.widget.RecyclerView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/recycler"></android.support.v7.widget.RecyclerView>


activity_second
LinearLayout 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"
    android:orientation="vertical"
    tools:context="com.example.lx_20171220_2.view.SecondActivity">
    <ImageView
        android:id="@+id/goodsImg"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2">

    </ImageView>
    

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="vertical">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp">

            <TextView
                android:id="@+id/goodsTitle"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="20dp"
                android:ellipsize="end"
                android:maxLines="2"
                android:text="        【雅欧国际】:所有商品全新原装正品"
                android:textSize="17sp" />
        </RelativeLayout>


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <TextView
                android:id="@+id/bargainPrice"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="5dp"
                android:text="¥10000.00"
                android:textColor="#ff0000"
                android:textSize="22sp" />

            <TextView
                android:id="@+id/original_price"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="8dp"
                android:layout_marginTop="5dp"
                android:text="原价¥10000.00"
                android:textColor="#690606"
                android:textSize="14sp" />
        </LinearLayout>


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="35dp">


            <TextView
                android:id="@+id/salenum"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="15dp"
                android:text="销量 : 0"
                android:textSize="15sp" />


        </LinearLayout>
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/change"
            >
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="选择尺寸,颜色分类"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text=">"
                android:textSize="24sp"
                android:layout_marginRight="10dp"
                android:layout_alignParentRight="true"/>
        </RelativeLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="35dp"
            android:layout_marginTop="10dp"
            android:background="@color/View_BG">


            <TextView

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="15dp"
                android:drawableLeft="@drawable/checked"
                android:drawablePadding="5dp"
                android:text="全国  有货"
                android:textSize="15sp" />

            <TextView

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginRight="20dp"
                android:drawableLeft="@drawable/checked"
                android:textSize="15sp"
                android:text="免运费"/>
        </LinearLayout>
    </LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="#4a4747" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="60dp">

        <TextView
            android:id="@+id/gongyingshang"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="5dp"
            android:layout_weight="1"
            android:button="@null"
            android:drawablePadding="5dp"
            android:drawableTop="@drawable/a96"
            android:gravity="center"
            android:text="供应商"
            android:textColor="#6b6868"
            android:textSize="15sp" />

        <TextView
            android:id="@+id/dianpu"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="5dp"
            android:layout_weight="1"
            android:button="@null"
            android:drawablePadding="5dp"
            android:drawableTop="@drawable/at2"
            android:gravity="center"
            android:text="店铺"
            android:textColor="#6b6868"
            android:textSize="15sp" />

        <CheckBox
            android:id="@+id/guanzhu"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="2dp"
            android:layout_weight="1"
            android:button="@null"
            android:drawablePadding="5dp"
            android:drawableTop="@drawable/guanzhu_ck"
            android:gravity="center"
            android:text="关注"
            android:textColor="#6b6868"
            android:textSize="15sp" />

        <TextView
            android:id="@+id/gouwuche"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="10dp"
            android:layout_weight="1"
            android:drawablePadding="5dp"
            android:drawableTop="@drawable/abr"
            android:gravity="center"
            android:text="购物车"
            android:textColor="#6b6868"
            android:textSize="15sp" />


        <Button
            android:id="@+id/add_Buy"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_alignParentRight="true"
            android:layout_weight="1.5"
            android:background="@drawable/buy"
            android:gravity="center"
            android:paddingLeft="25dp"
            android:paddingRight="25dp"
            android:text="加入购物车"
            android:textColor="#ffff00"
            android:textSize="18sp"
            android:textStyle="bold" />

    </LinearLayout>
</LinearLayout>




item_my
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:fresco="http://schemas.android.com/apk/res-auto"
    android:orientation="horizontal" android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <com.facebook.drawee.view.SimpleDraweeView
        android:id="@+id/item_img"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_margin="8dp"
        fresco:failureImage="@mipmap/ic_launcher" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="center">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:maxLines="2"
            android:id="@+id/title"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:maxLines="2"
            android:id="@+id/price"/>
    </LinearLayout>
</LinearLayout>



colors
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>
    <color name="View_BG">#e6e0e0</color>
    //加入购物车选中
    <color name="add_buy">#e7633f</color>
    <color name="colorRed">#ff0000</color>
</resources>



buy
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/add_buy" android:state_pressed="true" />
    <item android:drawable="@color/colorRed" />
</selector>


guanzhu_ck
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ali" android:state_checked="true" />
    <item android:drawable="@drawable/alh" />
</selector>



a96 abr alh ali at2 checked


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值