在Android中滑动另一个片段

android中,我们可以将一个片段滑过另一个片段吗? 例如,在以下图片中:

图片1

有两个片段。 一个是红色的,另一个是蓝色的。 如果用户将他的手指按在黑色的箭头上并将其向右拖动,红色的碎片也随之拖动,从而覆盖蓝色的碎片。 最后,红色的片段覆盖了整个蓝色的片段。 另外,如果用户在红色片段被拖到不到一半的蓝色片段之前提起手指,则红色片段应该回到原来的位置(因此不覆盖蓝色片段)。 但是,如果用户不抬起手指(即拖动箭头),直到红色片段覆盖了一半以上的蓝色片段或整个蓝色片段,则红色片段应覆盖整个蓝色片段。

另外,如果在红色的片段(如ButtonsEditTexts等)上有任何视图,那么他们也将相应地重新resize。

有没有办法做到这一点? 如果是,那么如何?

Solutions Collecting From Web of "在Android中滑动另一个片段"

你看过使用或扩展SlidingDrawer? 您可以将红色的片段作为抽屉的内容,黑色的箭头作为句柄。

我猜你正在尝试做什么就像最新的Android电子市场用户界面? 在哪里你可以通过片段显示不同的东西,对不对?

如果是这样的话,我build议你看看这个网站: http : //viewpagerindicator.com/

这是杰克·沃顿(Jake Wharton)所做的一个项目,它可以满足你的要求。 你可以下载它的源代码来find自己实现它的方法,或者你可以简单地使用它作为一个库(这也在网站上解释)。

有关其他信息,我build议你看一下Android中的Fragments和FragmentActivity,这里有一个使用Fragments和FragmentActivity的例子,但是网上有很多例子: http : //www.e-nature.ch/高科技/ p = 6

希望这可以帮助!

我想你会使用一个自定义的viewgroup扩展一个linearlayout。 内部视图应该有布局权重来定义他们的屏幕部分。

您必须覆盖自定义视图组onLayout和onMeassure,请记住,一个视图组要求其子级的测量和布局,以便顺利重新缩放。

希望能帮助到你。

我想不出更简单的方法…所以试着这样做:

尝试使用FrameLayout。 添加一个蓝色的LinearLayout,之后添加一个红色的LinearLayout,例如。 那么红色的布局就是蓝色的。

在红色布局上附加onTouch监听器。 做一些简单的x和y坐标的计算,TouchEvent给你,编程设置红色布局LayoutParams,例如宽度。

这是从我头顶的想法,从来没有尝试过。

希望能帮助你。 干杯!