Android Launcher3 禁止用户拖动图标创建文件夹,控制拖动图标到另一个图标时的动画效果

 

禁止用户拖拽应用图标创建文件夹,需要在Workspace中的onDrop()方法的createUserFolderIfNecessary方法注释掉。这样就不再创建文件夹。

 // If the item being dropped is a shortcut and the nearest drop
 // cell also contains a shortcut, then create a folder with the two shortcuts.
 /**
  * 注释这里,不会再添加创建文件夹
  */
// if (!mInScrollArea && createUserFolderIfNecessary(cell, container,
//     dropTargetLayout, mTargetCell, distance, false, d.dragView, null)) {
//     return;
// }

控制拖动图标到另一个图标时的动画效果,则是在Workspace中的manageFolderFeedback()去设置

private void manageFolderFeedback(ItemInfo info, CellLayout targetLayout,
int[] targetCell, float distance, View dragOverView) {
boolean userFolderPending = willCreateUserFolder(info, targetLayout, targetCell, distance,false);

if (mDragMode == DRAG_MODE_NONE && userFolderPending &&
!mFolderCreationAlarm.alarmPending()) {
/**
* 把图标拖动到另一个图标上,没有跳动动画,也没有白色圆形动画
*
* 其实就是把targetCell[0],targetCell[1]两个参数写得很大,
*
* 根本没有这个图标显示该动画,需要的话就可以把位置修改会和源码一样
*/
// mFolderCreationAlarm.setOnAlarmListener(new
// FolderCreationAlarmListener(targetLayout, 18, 18));
// mFolderCreationAlarm.setAlarm(FOLDER_CREATION_TIMEOUT);


/**
* 如果需要把图标拖动到另一个图标上也有和其他一样的跳动动画
*
* 但是没有底部白色圆形动画,注释下面源代码就可实现
*
* 下面代码是没有修改过的
*/
// mFolderCreationAlarm.setOnAlarmListener(new
// FolderCreationAlarmListener(targetLayout, targetCell[0], targetCell[1]));
// mFolderCreationAlarm.setAlarm(FOLDER_CREATION_TIMEOUT);
return;
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值