组合式控件(购物车数量的加减)

本文介绍如何利用组合式控件创建购物车功能,通过自定义控件展示商品数量的加减效果。在MainActivity中,类继承自ViewGroup的子类,并在MainXML中设置自定义控件布局。为了实现该效果,图片是必不可少的部分,如果需要文中所用图片,可以私下联系作者。
摘要由CSDN通过智能技术生成

  运用组合式控件编写一个类似于购物车的增加删除数量的效果,如图所示:



MainActivity中

public class MainActivity extends AppCompatActivity {
    private viewjia av;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        av = (viewjia) findViewById(R.id.jia);
        av.setMaxValue(10);

        av.setOnNumberChangerListener(new viewjia.OnNumberChangerListener() {
            @Override
            public void OnNumberChanger(int value) {
                //属于我自己的业务逻辑
                Toast.makeText(MainActivity.this, "变化的数量值"+value, Toast.LENGTH_SHORT).show();
            }
        });
    }
}

类继承一个属于ViewGroup下的任意自定义控件


public class viewjia extends LinearLayout implements View.OnClickListener {

    private ImageButton mIv_sub;
    private ImageButton mIv_add;
    private TextView mTv_value;
    private int mValue;


    //1.创建对象的时候
    public viewjia(Context context) {
        this(context, null);
    }

    //2.XML中使用的时候回调
    public viewjia(Context context, AttributeSet attrs) {
        this(context, attrs ,  0);
    }

    //3.XML中使用,且使用Style风格中.
    public viewjia(Context context, AttributeSet attrs, int defStyleAttr) {
        
Android中提供了一些常用的数量加减控件,可以用于用户选择数量或者进行数量加减操作。以下是几种常用的控件: 1. NumberPicker NumberPicker是一个Android系统自带的数字选择器,可以通过滑动或者点击加减按钮来改变数字。 使用方法: 在xml布局文件中添加NumberPicker控件 ```xml <NumberPicker android:id="@+id/number_picker" android:layout_width="wrap_content" android:layout_height="wrap_content" /> ``` 在Java中获取该控件并设置最小值、最大值、默认值等属性 ```java NumberPicker numberPicker = findViewById(R.id.number_picker); numberPicker.setMinValue(0); numberPicker.setMaxValue(100); numberPicker.setValue(50); ``` 2. StepperTouch StepperTouch是一个自定义控件,可以通过左右滑动或者点击加减按钮来改变数量。支持设置最小值、最大值、步长等属性。 使用方法: 在xml布局文件中添加StepperTouch控件 ```xml <com.chaos.view.StepperTouch android:id="@+id/stepper_touch" android:layout_width="wrap_content" android:layout_height="wrap_content" app:stp_auto_repeat="true" app:stp_max_value="100" app:stp_min_value="0" app:stp_value="50" /> ``` 在Java中获取该控件并设置属性 ```java StepperTouch stepperTouch = findViewById(R.id.stepper_touch); stepperTouch.setMinValue(0); stepperTouch.setMaxValue(100); stepperTouch.setStepSize(1); stepperTouch.setInitialValue(50); ``` 3. PlusMinusSeekBar PlusMinusSeekBar是一个自定义控件,可以通过拖动SeekBar或者点击加减按钮来改变数量。支持设置最小值、最大值、步长等属性。 使用方法: 在xml布局文件中添加PlusMinusSeekBar控件 ```xml <com.irozon.sneaker.Sneaker android:id="@+id/sneaker" android:layout_width="match_parent" android:layout_height="wrap_content" app:pm_max_value="100" app:pm_min_value="0" app:pm_step_size="1" app:pm_value="50" /> ``` 在Java中获取该控件并设置属性 ```java PlusMinusSeekBar plusMinusSeekBar = findViewById(R.id.sneaker); plusMinusSeekBar.setMinValue(0); plusMinusSeekBar.setMaxValue(100); plusMinusSeekBar.setStepSize(1); plusMinusSeekBar.setInitialValue(50); ``` 以上是三种常用的数量加减控件,你可以根据自己的需求选择适合的控件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值