您的位置:首页 > 运维架构

ShoppingCart2

2018-01-18 12:02 253 查看
<?xml version="1.0" encoding="utf-8"?>
<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:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.hello.shoppingcart2.MainActivity">
<LinearLayout
android:layout_gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/back"
android:background="@mipmap/ic_launcher"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/main_title"
android:gravity="center"
android:text="商品详情"/>

</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="0.75dp"
android:background="#f00"
/>
<ImageView
android:id="@+id/main_big_pic"
android:layout_width="match_parent"
android:layout_height="300dp"
android:scaleType="centerCrop"
android:src="@mipmap/ic_launcher"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<TextView
android:id="@+id/main_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="商品名"/>
12e6f

<TextView
android:id="@+id/main_price"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="原价"/>

<TextView
android:id="@+id/main_price2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="折扣价"/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="0.75dp"
android:background="#f00"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="bottom"
>
<TextView
android:id="@+id/main_cart"
android:layout_width="0dp"
android:layout_height="30dp"
android:layout_weight="1"
android:clickable="true"
android:gravity="center"
android:text="购物车"/>

<View
android:layout_width="0.75dp"
android:layout_height="match_parent"
android:background="#F00"/>

<TextView
android:id="@+id/main_add"
android:layout_width="0dp"
android:layout_height="30dp"
android:layout_weight="1"
android:clickable="true"
android:gravity="center"
android:text="加入购物车"/>
</LinearLayout>
</LinearLayout>
activity_cart
<?xml version="1.0" encoding="utf-8"?>
<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.hello.shoppingcart2.view.CartActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="25dp"
android:textColor="@android:color/black"
android:text="购物车"/>
<View
android:layout_width="match_parent"
android:layout_height="0.75dp"
android:background="#999999"/>

<ExpandableListView
android:id="@+id/ex_list_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:groupIndicator="@null"></ExpandableListView>

<View
android:layout_width="match_parent"
android:layout_height="0.75dp"
android:background="#999999"/>

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

<CheckBox
android:id="@+id/cart_cb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="全选/反选"
android:textColor="@android:color/black"
android:textSize="25sp"/>

<TextView
android:id="@+id/cart_sum12"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="总价:0"
android:textColor="@android:color/black"
android:textSize="25sp"/>
</LinearLayout>
</LinearLayout>
activity_splash
<?xml version="1.0" encoding="utf-8"?>
<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:gravity="center_horizontal"
android:orientation="vertical"
tools:context="com.example.hello.shoppingcart2.view.SplashActivity">
<ImageView
android:id="@+id/image1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher"/>
</LinearLayout>
 
MainActivity
public class MainActivity extends AppCompatActivity implements View.OnClickListener,IMainView{
private ImageView main_big_pic;
private TextView man_name;
private TextView main_price;
private TextView main_price2;
private PresenterImpl presenter;
private DetailBean detailBean;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
//调用Prester进行数据加载

presenter = new PresenterImpl();
presenter.showDataToDetai(new ModelImpl(), this);

}

private void initView() {
main_big_pic = (ImageView) findViewById(R.id.main_big_pic);
man_name = (TextView) findViewById(R.id.main_name);
main_price = (TextView) findViewById(R.id.main_price);
main_price2 = (TextView) findViewById(R.id.main_price2);
TextView main_cart = (TextView) findViewById(R.id.main_cart);
TextView main_add = (TextView) findViewById(R.id.main_add);
main_cart.setOnClickListener(this);
main_add.setOnClickListener(this);
}

@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.main_cart:
//调用跳转
presenter.jumpToCart(this);
break;
case R.id.main_add:
//添加到购物车
Log.d("Main--", "点击---添加到购物车" );
Toast.makeText(MainActivity.this,"添加成功",Toast.LENGTH_SHORT).show();
presenter.addToCart(new ModelImpl(), this);
break;
}
}

@Override
public void showDetailData(DetailBean detailBean) {
this.detailBean = detailBean;
//设置数据
String images = detailBean.getData().getImages();
String imgeUrl = images.split(".jpg")[0] + ".jpg";
Glide.with(MainActivity.this).load(imgeUrl).into(main_big_pic);
man_name.setText(detailBean.getData().getTitle());
main_price.setText("原价:" + detailBean.getData().getPrice() + "");
main_price.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
main_price2.setText("折扣价" + detailBean.getData().getBargainPrice() + "");
}

@Override
public void jumpToCatActivity() {
//到购物车页面
startActivity(new Intent(MainActivity.this, CartActivity.class));
overridePendingTransition(R.anim.enter, R.anim.out);
finish();
}

@Override
public void addToCart() {

}

@Override
public String getPid() {
return detailBean.getData().getPid() + "";
}

@Override
public void showAddSucess() {
Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();
}

@Override
public void shoAddError() {
Toast.makeText(MainActivity.this, "添加失败", Toast.LENGTH_SHORT).show();

}
}
ICartView
public interface ICartView {
void showDataToCart(Context context, CartBean cartBean);
//全选、反选

//显示总价
void showSum(double sum);

CartBean getCartBean();

}
 
IMainView
public interface IMainView {
void showDetailData(DetailBean detailBean);

void jumpToCatActivity();

void addToCart();
//获取PID的方法
String getPid();
//成功的提示
void showAddSucess();
//失败的提示
void shoAddError();
}
ISplashView
public interface ISplashView {
void jumpToMainActivity();
}
AnimatorUtils
public static AnimatorSet setAnimatorset(Context context, View view) {
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
int heightPixels = metrics.heightPixels;
ValueAnimator tranlate = ObjectAnimator.ofFloat(view, "translationY", 0, heightPixels / 2 - view.getHeight());
ValueAnimator scaleX = ObjectAnimator.ofFloat(view, "scaleX", 2.0f, 1.0f);
ValueAnimator scaleY = ObjectAnimator.ofFloat(view, "scaleY", 2.0f, 1.0f);
ValueAnimator alpha = ObjectAnimator.ofFloat(view, "alpha", 0, 1.0f);
ValueAnimator rotation = ObjectAnimator.ofFloat(view, "rotation", 0, 360);
//创建动画集合
AnimatorSet set = new AnimatorSet();
set.playTogether(tranlate, scaleX, scaleY, alpha, rotation);
set.setDuration(3000);
set.start();
return set;
}
CartActivity
public class CartActivity extends AppCompatActivity implements ICartView,View.OnClickListener{
private static final String TAG = "CartActivity";
private ExpandableListView ex_list_view;
private CheckBox cart_cb;
private TextView cart_sum;
private CartBean cartBean;
private MyAdapter myAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cart);
initViews();
PresenterImpl presenter = new PresenterImpl();
presenter.showDataToCart(this, new ModelImpl(),this);
}

private void initViews() {
ex_list_view = (ExpandableListView) findViewById(R.id.ex_list_view);
cart_cb = (CheckBox) findViewById(R.id.cart_cb);
cart_sum = (TextView) findViewById(R.id.cart_sum12);
//全选、反选的点击事件
cart_cb.setOnClickListener(this);
}

@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.cart_cb:
//全部置为反
List<CartBean.DataBean> data = cartBean.getData();
for (int i = 0; i < data.size(); i++) {
data.get(i).setParentIsSelected(!data.get(i).isParentIsSelected());
//子元素
List<CartBean.ChildBean> list = data.get(i).getList();
for (int j = 0; j < list.size(); j++) {
list.get(j).setChildIsSelected(!list.get(j).isChildIsSelected());
}
}
//通知刷新
myAdapter.notifyDataSetChanged();
//计算
PresenterImpl presenter = new PresenterImpl();
presenter.jisuan(new ModelImpl(), cartBean, this);
break;
}
}

@Override
public void showDataToCart(Context context, CartBean cartBean) {
this.cartBean = cartBean;
//设置适配器

myAdapter = new MyAdapter(context, cartBean, this);
ex_list_view.setAdapter(myAdapter);
//将expanablelistview全部展开
int childCount = myAdapter.getGroupCount();
for (int i = 0; i < childCount; i++) {
ex_list_view.expandGroup(i);
}
}

@Override
public void showSum(double sum) {
Log.d(TAG, "showSum() returned: " + sum + "--" + cart_sum);
TextView tv = (TextView) findViewById(R.id.cart_sum12);
tv.setText("总价:" + sum);
}

@Override
public CartBean getCartBean() {
return cartBean;
}
}
SplashActivity
public class SplashActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
initViews();
}

private void initViews() {
ImageView img1=(ImageView)findViewById(R.id.image1);
AnimatorSet set=AnimatorUtils.setAnimatorset(SplashActivity.this,img1);
set.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
startActivity(new Intent(SplashActivity.this, MainActivity.class));
overridePendingTransition(R.anim.enter,R.anim.out);
finish();
}
});
}
}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: