這篇文章主要為大家展示了Android如何實現(xiàn)購物車加減功能,內(nèi)容簡而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。
創(chuàng)新互聯(lián)網(wǎng)站設(shè)計,為客戶量身定制各類網(wǎng)站建設(shè)業(yè)務(wù),包括企業(yè)型、電子商務(wù)型、響應(yīng)式網(wǎng)站建設(shè)、行業(yè)門戶型等各類網(wǎng)站,實戰(zhàn)經(jīng)驗豐富,成功案例眾多。以客戶利益為出發(fā)點,創(chuàng)新互聯(lián)網(wǎng)站制作為客戶規(guī)劃、按需定制網(wǎng)站符合企業(yè)需求、帶有營銷價值的網(wǎng)絡(luò)建站方案認(rèn)真對待每一個客戶,我們不用口頭的語言來吹擂我們的優(yōu)秀,上千家的成功案例見證著我們的成長。
Android 實現(xiàn)購物車加減功能,效果圖如下所示:
public class adderView extends LinearLayout implements View.OnClickListener, TextWatcher { private int amount = 0; //購買數(shù)量 private int goods_storage = Integer.MAX_VALUE; //商品庫存 private OnAmountChangeListener mListener; private EditText etAmount; private Button btnDecrease; private Button btnIncrease; public adderView(Context context) { this(context, null); } public adderView(Context context, AttributeSet attrs) { super(context, attrs); LayoutInflater.from(context).inflate(R.layout.number_adder, this); etAmount = (EditText) findViewById(R.id.etAmount); btnDecrease = (Button) findViewById(R.id.btnDecrease); btnIncrease = (Button) findViewById(R.id.btnIncrease); btnDecrease.setOnClickListener(this); btnIncrease.setOnClickListener(this); etAmount.addTextChangedListener(this); TypedArray obtainStyledAttributes = getContext().obtainStyledAttributes(attrs, R.styleable.AmountView); int btnWidth = obtainStyledAttributes.getDimensionPixelSize(R.styleable.AmountView_btnWidth, 100); int tvWidth = obtainStyledAttributes.getDimensionPixelSize(R.styleable.AmountView_tvWidth, 200); int tvTextSize = obtainStyledAttributes.getDimensionPixelSize(R.styleable.AmountView_tvTextSize, 0); int btnTextSize = obtainStyledAttributes.getDimensionPixelSize(R.styleable.AmountView_btnTextSize, 0); obtainStyledAttributes.recycle(); LayoutParams btnParams = new LayoutParams(btnWidth, LayoutParams.MATCH_PARENT); btnDecrease.setLayoutParams(btnParams); btnIncrease.setLayoutParams(btnParams); if (btnTextSize != 0) { btnDecrease.setTextSize(TypedValue.COMPLEX_UNIT_PX, btnTextSize); btnIncrease.setTextSize(TypedValue.COMPLEX_UNIT_PX, btnTextSize); } LayoutParams textParams = new LayoutParams(tvWidth, LayoutParams.MATCH_PARENT); etAmount.setLayoutParams(textParams); if (tvTextSize != 0) { etAmount.setTextSize(tvTextSize); } } public void setOnAmountChangeListener(OnAmountChangeListener onAmountChangeListener) { this.mListener = onAmountChangeListener; } public void setGoods_storage(int goods_storage) { this.goods_storage = goods_storage; } public void setTextCount(int count){ this.amount = count; this.etAmount.setText(amount+""); } @Override public void onClick(View v) { int i = v.getId(); if (i == R.id.btnDecrease) { if (amount > 0) { amount--; etAmount.setText(amount + ""); } } else if (i == R.id.btnIncrease) { if (amount < goods_storage) { amount++; etAmount.setText(amount + ""); } } etAmount.clearFocus(); if (mListener != null) { mListener.onAmountChange(this, amount); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { if (s.toString().isEmpty()) return; amount = Integer.valueOf(s.toString()); if (amount > goods_storage) { etAmount.setText(goods_storage + ""); return; } if (amount == 0){ // btnDecrease.setBackgroundResource(R.drawable.jian); } if (amount > 0){ // btnDecrease.setBackgroundResource(R.drawable.lvjian); } if (mListener != null) { mListener.onAmountChange(this, amount); } } public interface OnAmountChangeListener { void onAmountChange(View view, int amount); }
<?xml version="1.0" encoding="utf-8"?>
以上就是關(guān)于Android如何實現(xiàn)購物車加減功能的內(nèi)容,如果你們有學(xué)習(xí)到知識或者技能,可以把它分享出去讓更多的人看到。