我正在开发一个应用程序,假设我有 5 个不同的布局以及一个主布局,其中包含指向每个布局的链接。在主布局中,当用户单击第一个按钮时,假设通过滑动进入相关布局。其他视图也是如此。
当用户转到其中一个布局时,下一个布局也有几个链接到其他布局,就像一个链一样。并且这条链通过滑动从布局移动到另一个。
我曾尝试使用视图翻转器来执行此操作,但由于我有很多不同的布局,并且它们有背景图像和一些内容,所以我出现内存不足错误。
所以我试图以这种方式找到解决方案。知道如何做到这一点吗?
我正在开发一个应用程序,假设我有 5 个不同的布局以及一个主布局,其中包含指向每个布局的链接。在主布局中,当用户单击第一个按钮时,假设通过滑动进入相关布局。其他视图也是如此。
当用户转到其中一个布局时,下一个布局也有几个链接到其他布局,就像一个链一样。并且这条链通过滑动从布局移动到另一个。
我曾尝试使用视图翻转器来执行此操作,但由于我有很多不同的布局,并且它们有背景图像和一些内容,所以我出现内存不足错误。
所以我试图以这种方式找到解决方案。知道如何做到这一点吗?
我建议您使用 Jake 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;
}
现在您应该可以轻松滑动到您的布局(片段)
开始一个新的android.app.Activity
托管每个布局,并使用overridePendingTransition(R.anim.animation_leave, R.anim.animation_enter);
其中 *.anim.animation_leave 和 _enter 覆盖活动之间的转换,在这个 SO 答案中已经为您明确指定了。
您可以在调用后立即编写 overridePendingTransition 代码以启动“链接”活动,并且(如果需要)可以通过在调用finish()
Activity 或选择“向上”导航按钮按下或“返回”后提供相反的转换来应用反向效果-按钮'按下。
让一个活动管理一个布局(根据我的经验)也有利于代码的可维护性。