Android(安卓)Launcher3 禁止用户拖动图标创建文件夹,控制拖动图标到另一个图标时的动画效果
16lz
2021-01-25
禁止用户拖拽应用图标创建文件夹,需要在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;}
更多相关文章
- Android拖动控件
- [Android(安卓)Pro] ListView,GridView之LayoutAnimation特殊动
- ViewPager如下效果你研究过吗?
- Android组件Activity中的View绘画和动画(Animation)是否会重画?
- Android(安卓)首个Activity启动动画设置
- Android中组件的动画效果之平移动画
- 为Activity之间跳转添加动画
- Android改变ExpandableListView的indicator图标实现方法
- 如何避免打开键盘或横竖屏切换,active重启,处理界面的延迟动画