Android中如何实现拖放操作
2个回答
展开全部
,虚线框指示了,当前widget将被放置的位置。
在多列之间实现拖放动作,页面将会分成三列,每一列都是一个
ASPNET Panel控件,
widget可以被添加到任意一个Panel里面。
widget可以添加到任意一个panel里面。拖放的实现是使用自定制的extender。
有两种类型的拖放动作需要支持:在同一列拖放widget和不同列之间拖放。如果我们将每一个列都作为一个拖放区域,使用
ASPNET AJAX框架的IDragTarget
接口,然后,每一个widget是一个IDragSource
就可以在列之间拖放了。更加挑战的是在相同的列内切换位置,就是将它们重新排序。举个例子,如果你把一个widget向下拖放,下面的widget将会跳上来,填补空白区域。相同的,如果你把一个widget覆盖到另外一个上面,被覆盖的widget需要向下移动,为被拖放的widget留出空间。这些动作都作为Extender实现,所以,你可以容易的将Extender附加到一个panel上面,这样,它就是一个
IDragTarget
并且提供了重新排序功能。
那么,怎么在拖放动作之后,将widget的位置异步的传送给服务器端呢?当你完成了一个拖放移动,它反映在UI上面,但是服务器并不知道发生了。任何的PostBack形式通知服务器都会破坏用户体验,因为整个页面或者列都要刷新。服务器需要在后台异步的被通知,这样用户就注意不到widget的位置在被拖放传递给了服务器,并且保存了起来。第二个挑战是提供完整个拖放功能的Extender。
在多列之间实现拖放动作,页面将会分成三列,每一列都是一个
ASPNET Panel控件,
widget可以被添加到任意一个Panel里面。
widget可以添加到任意一个panel里面。拖放的实现是使用自定制的extender。
有两种类型的拖放动作需要支持:在同一列拖放widget和不同列之间拖放。如果我们将每一个列都作为一个拖放区域,使用
ASPNET AJAX框架的IDragTarget
接口,然后,每一个widget是一个IDragSource
就可以在列之间拖放了。更加挑战的是在相同的列内切换位置,就是将它们重新排序。举个例子,如果你把一个widget向下拖放,下面的widget将会跳上来,填补空白区域。相同的,如果你把一个widget覆盖到另外一个上面,被覆盖的widget需要向下移动,为被拖放的widget留出空间。这些动作都作为Extender实现,所以,你可以容易的将Extender附加到一个panel上面,这样,它就是一个
IDragTarget
并且提供了重新排序功能。
那么,怎么在拖放动作之后,将widget的位置异步的传送给服务器端呢?当你完成了一个拖放移动,它反映在UI上面,但是服务器并不知道发生了。任何的PostBack形式通知服务器都会破坏用户体验,因为整个页面或者列都要刷新。服务器需要在后台异步的被通知,这样用户就注意不到widget的位置在被拖放传递给了服务器,并且保存了起来。第二个挑战是提供完整个拖放功能的Extender。
2016-01-07 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
可参考如下代码即可:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询