国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Android 購物車加減功能的實現(xiàn)代碼

瀏覽:38日期:2022-09-24 16:35:26

Android 實現(xiàn)購物車加減功能,效果圖如下所示:

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'?><com.zhy.autolayout.AutoLinearLayout xmlns:android='http://schemas.android.com/apk/res/android' android:layout_width='match_parent' android:layout_height='90px' android:focusable='true' android:divider='@drawable/divder' android:background='@drawable/bg_amout_layout' android:showDividers='middle' android:orientation='horizontal'> <Button android: android:layout_width='0dp' android:layout_height='wrap_content' android:layout_weight='1' android:gravity='center' android:background='@drawable/jian'/> <EditText android: android:layout_width='200px' android:layout_height='match_parent' android:minWidth='150px' android:layout_weight='2' android:background='@null' android:inputType='number' android:textSize='13sp' android:text='0' android:gravity='center'/> <Button android: android:layout_width='0dp' android:layout_height='wrap_content' android:layout_weight='1' android:gravity='center' android:background='@drawable/jia'/></com.zhy.autolayout.AutoLinearLayout>

到此這篇關(guān)于Android 購物車加減功能的實現(xiàn)代碼的文章就介紹到這了,更多相關(guān)android 購物車加減內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Android
相關(guān)文章:
主站蜘蛛池模板: 免费精品99久久国产综合精品 | 国产色在线观看 | 免费观看日本视频 | 欧美孕妇孕交 | 免费手机黄色网址 | 麻豆69堂免费视频 | 在线人成精品免费视频 | 精品自拍视频在线观看 | 毛片一级免费 | 日韩一级片免费看 | 国产精品爱久久久久久久小 | 大片毛片女女女女女女女 | 久久视频国产 | 亚洲国产精品一区二区久久 | 国产深夜福利在线观看网站 | 一级aaaaaa毛片免费 | 中文字幕亚洲一区二区三区 | 久久久国产精品免费 | 国产精品午夜波多野结衣性色 | 欧美性色一级在线观看 | 在线欧洲成人免费视频 | 久久久久久久久一次 | 在线中文字幕精品第5页 | 中文字幕亚洲一区二区va在线 | 国产午夜精品一区二区三区不卡 | 久草在现 | 毛片免费在线观看网址 | 久久三级毛片 | 国产精品一区二区三区久久 | 日本韩国台湾香港三级 | 手机看片亚洲 | 亚洲综合久久久 | 欧美日韩生活片 | 日韩 欧美 自拍 | 国产成人精品福利网站在线观看 | 最近日本免费观看视频 | 亚洲国产精品一区二区九九 | 久久一区二区精品 | 天空在线观看免费完整 | 欧美成人精品高清在线播放 | 热re66久久精品国产99热 |