2012-08-14 90 views
-1

我正在研究一个应用程序,并假设我有5种不同的布局以及一个链接到每个布局的主布局。在用户点击第一个按钮时的主布局中,假设通过滑动来进行相关布局。其他观点也一样。在android中滑动页面

当用户转到其中一种布局时,下一个布局也有一些指向其他布局的链接,就像链条一样。而这条链正在通过滑动从布局移动到另一个。

我试图做到这一点与视图鳍状肢,但由于我有这么多不同的布局,他们有背景图像和一些内容,我得到了内存不足的错误。

所以我试图找到这种方式的解决方案。任何想法如何做到这一点?

+1

一个字:Viewpager! – 2012-08-14 14:54:42

+0

内存不足问题呢?它解决了这个问题吗? – osayilgan 2012-08-14 14:55:33

+0

它一次加载3页。我正在使用它我的应用程序与约200张照片和它的工作正常。 – 2012-08-14 14:57:09

回答

1

我会建议你使用杰克Whartons ViewPageIndicator

创建每次你布局的Fragment和布局与onCreateView()梅索德您的片段里面设置为您的片段:

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 

     return inflater.inflate(R.layout.layout, container, false); 
    } 

现在创建一个FragmentPagerAdapter应该有一个称为getItem()的方法。 Switch的位置并将其设置为您的片段:

public Fragment getItem(int position) { 
switch(position) 
     { 
       case 0: 
        TestFragment fragment = new TestFragment(); 
        return fragment; 

       case 1: 
        TestFragment2 fragment2 = new TestFragment2(); 
        return fragment2; 

     } 

        DefaultFragment fragment3 = new DefaultFragment(); 
        return fragment3; 

     } 

现在,你应该能够使用overridePendingTransition(R.anim.animation_leave, R.anim.animation_enter);活动之间滑动到您的布局(碎片)容易

+0

我会以这种方式尝试一些东西,并让你知道它是否适合我的情况。 – osayilgan 2012-08-14 16:14:31

+0

我试过片段的方式,但没有与ViewPager和它的作品。 – osayilgan 2012-08-16 07:12:07

0

开始一个新的android.app.Activity托管每个布局和覆盖转换其中* .anim.animation_leave和_enter已经整齐地在this SO answer中指定给您了。

您可以在打电话之后立即写入overridePendingTransition代码以开始“链接”活动,并且(如果需要)可以通过在活动上调用finish()或选择“向上”导航后提供相对转换来应用反向效果按下按钮或“后退”按钮。

只有一个活动管理一个布局(根据我的经验)也有利于代码可维护性。

+0

我想要设计的这个页面将是其中一个选项卡。所以如果开始一项新的活动,它会让事情变得更加复杂。感谢您的建议。 – osayilgan 2012-08-14 15:19:01

+0

我看...抱歉,没有意识到这是在一个标签的上下文。回想一下'''''ViewPager'''的建议 - 在tab下有一个view pager听起来很糟糕。它基本上是两种横向导航形式,可能会混淆用户,因为他们希望在选项卡之间滑动,但会遇到来自第一个选项卡的“视图2”?开发人员指南的这一部分非常棒,请阅读它:http://developer.android.com/training/design-navigation/descendant-lateral。html – OceanLife 2012-08-14 15:27:45

+0

假设我基本上有5个选项卡,并且第一个选项卡有一些信息列表,当用户单击其中一个列表项目时,它会滑动到下一个布局,但是以这种方式发生的每件事情都将仍然存在留在第一个标签。其余的选项卡包含其他内容。所以我实际上试图找到一种寻呼方式。正如我所说,我尝试了视图鳍状肢,但由于它把所有的孩子都留在记忆中,所以我得到了内存不足的问题。当用户单击列表中的项目并设置它时,我仍然可以更改内容视图。 – osayilgan 2012-08-14 16:06:13