java checkbox 多选_[Java教程]实现checkbox的多选

这篇博客介绍了如何在Java中实现Checkbox的多选功能。通过创建遮罩层动态调整大小来标识选择区域,并记录鼠标按下和松开时的坐标来选中对应的Checkbox。文章提供了详细的代码实现和操作说明。
摘要由CSDN通过智能技术生成

[Java教程]实现checkbox的多选

0

2016-11-01 00:00:05

checkbox多选

技术一般水平有限,有什么错的地方,望大家指正。

全选,多选都是为了使用的方便,一般情况下全选就够用了,但是用户要求实现一个多选的功能也没有办法老老实实的做吧。

多选的实现也较为简单,首先需要一个遮罩可以标识给用户当前所选择的区域,其次就是选中用户所需要的信息,按照这个思路我们来一步步实现。

遮罩实现

我们用一个div来当做遮罩层:.mask{height:1px;width:1px;position:absolute;background-color:gray;opacity:0.2}

function createMask(){ var div = document.createElement("div"); div.className = "mask"; div.id = "mask"; document.body.appendChild(div);}

接下来就是唯一需要注意的地方就是遮罩的大小的变化,遮罩是用一个div来实现,所以需要动态的表示出宽高位置来为用户标识出选择的位置:

bc91bb04e6e9c61e24c974e4440db8f2.gif

我们把可以移动的区域分成四份(不是个标准的四象限~凑合看),假如原点就是我们鼠标按下时的位置。

当我们在A象限拖动时这是最正常的一种情况

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的Java安卓CheckBox多选的例子: 1. 首先,在你的布局文件中添加一个ListView和一个Button: ``` <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent"/> <Button android:id="@+id/select_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Select All"/> ``` 2. 接下来,在你的Java代码中,设置ListView的适配器: ``` ListView listView = findViewById(R.id.list_view); listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, itemList)); listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); ``` 其中,itemList是一个包含待选择项的字符串数组。 3. 在Button的点击事件中,处理全选和取消全选: ``` Button selectButton = findViewById(R.id.select_button); selectButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (selectButton.getText().equals("Select All")) { for (int i = 0; i < listView.getCount(); i++) { listView.setItemChecked(i, true); } selectButton.setText("Deselect All"); } else { listView.clearChoices(); selectButton.setText("Select All"); } } }); ``` 以上代码中,我们设置了一个Button的点击事件,当点击该按钮时,会根据Button的文本内容来判断是全选还是取消全选。如果是全选,则遍历ListView中的每个项并设置为选中状态;如果是取消全选,则清除ListView中所有选中的项。 注意:在运行时需要获取文件写入权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值