locked
如何实现类似于主屏幕tile长按可重新排序的功能? RRS feed

  • 问题

  • 请问,如何实现类似于主屏幕tile长按可重新排序的功能,使用那些控件实现这种效果?
    • 已移动 Jiong ShiMVP 2011年12月22日 7:33 (发件人:Windows Phone 用户)
    2011年12月22日 2:25

答案

  • Hi,

    你好,这个问题的话,我感觉只是类似于一个事件效果触发.

    你可以提供一个按钮来触发这个事件,如果你想实现类似于苹果的效果,你需要自己做一个容器控件,这个容器控件(即父容器控件)当被长按时,触发事件,

    触发事件后执行以下步序:

    1.获取所有子容器控件.

    2.执行子容器控件的动画.

    3.当需要移动某个子控件时候,创建的子控件图片的副本跟随手指移动,当放下时候,重新计算位置.

     

    • 已建议为答案 XuesongGao 2011年12月27日 13:14
    • 已标记为答案 Otomii Lu 2011年12月28日 5:00
    2011年12月26日 3:06

全部回复

  • Hi,

    你好,这个问题的话,我感觉只是类似于一个事件效果触发.

    你可以提供一个按钮来触发这个事件,如果你想实现类似于苹果的效果,你需要自己做一个容器控件,这个容器控件(即父容器控件)当被长按时,触发事件,

    触发事件后执行以下步序:

    1.获取所有子容器控件.

    2.执行子容器控件的动画.

    3.当需要移动某个子控件时候,创建的子控件图片的副本跟随手指移动,当放下时候,重新计算位置.

     

    • 已建议为答案 XuesongGao 2011年12月27日 13:14
    • 已标记为答案 Otomii Lu 2011年12月28日 5:00
    2011年12月26日 3:06
  • 除了自定义控件外,windows phone是否提供可实现这种效果的api呢,或者控件?

    使用toolkit:HubTile可以实现类似主屏幕tile的效果,但是我想知道如何实现tile长按移动的那种效果~~

    2011年12月29日 2:48
  • "windows phone是否提供可实现这种效果的api呢,或者控件?"

    wp7原生并没有提供这种API.需要自定义开发.

    "但是我想知道如何实现tile长按移动的那种效果~~"

    当选定需要移动的子控件,并触发移动事件后,创建一个新的image来显示子控件的图标,并使之跟着手指运动.

    然后是图标的重排,可以通过新建的image的TransformToVisual方法来获取图标的位置.

    最后就是重排,这个就需要之前你创建的父容器来处理这个问题了.你需要重写重排方法.

    2011年12月29日 2:57