我有一个应用程序在基本主题“空白活动”上工作,我想要做的是将其更改为“主/细节流程“主题。我知道这会让我的应用程序在android SDK 11 +(android 3.0 Honeycomb +)上工作,这对我来说是OK的。问题是我不知道从哪里开始,进行BIG转换的基本步骤是什么?我找不到任何例子来帮助我解决这个问题。我应该寻找什么。我确信这已经完成了,至少请给我一些关于如何做到这一点的指示? 我的应用程序并不复杂,它使用活动,异步任务,数据库,自定义列表......这是非常基本的。我使用自定义列表来显示数据,当我点击它时,它显示了更多的细节,所以我想在比“主/细节流”更专业的问题上做更好的方法。如果你有任何关于“主/细节流程”的教程,你可以帮我解决这个问题。如何将应用程序主题从普通的“空白活动”更改为“主/细节流程”
回答
我有对基本主题运行的应用程序“空白活动” 什么我想要做的就是将其更改为一个主/详细信息流” 主题。
我想应用程序流程的改变会更适合于主题的变化,两个显而易见的问题是,为什么你突然想要做这个改变,并确定你的应用程序在主/细节流程中是有意义的?答案最多可能是积极的,但你应该回答他们。
我知道,这将使得在Android SDK我的应用工作11 + (Android 3.0的蜂窝+),这是我的OK
我不明白为什么你的应用程序不能使用新的主/细节材料在以下版本中运行。
问题是我不知道从哪里开始,什么是基本的 步骤使这个BIG转换?我找不到任何示例来帮助 我解决这个问题。我应该寻找什么。我相信这 已经完成,你至少可以请给我一些指示如何 做到这一点?
您还没有提供关于您的应用如何实施的详细信息。更改将围绕碎片进行,因此如果使用碎片框架构建当前的单个窗格版本,则会出现大问题。
如果您的应用程序是使用碎片构建的,那么做出更改不应该太难。你需要:
- 确定哪些部分(片段)应在活动(从旧的)相结合,使主/细节(当空间允许的话)
- 变化多窗格活动以适应新的片段。这应该很容易做到,但这取决于每个碎片暴露的特征的大小。
- 修改活动的其余部分(用于当应用程序将不会在多窗格模式运行),这将是小变化的活动将主要保持为最新版本
如果您的应用程序ISN”使用片段构建,那么我上面所说的仍然适用,但你也需要实际上使所需的片段包装你的应用程序的任何功能。这很可能会导致大的代码重构。
这是一个关于Android的主/详细信息模板教程 - An Android Master/Detail Flow Tutorial。
据我了解你的应用程序启动并运行 - 所以我不知道它是否值得去尝试重写它,除非你正在经历当然一些问题。 :) 一般主/详细信息流需要以下几个步骤:
- 实现一个
ListFragment
显示您的项目 - 的基本信息实现一个
Fragment
显示有关特定项 - 详细信息拨打XML布局大型设备文件(位于
layout-sw600dp
文件夹中)。在这个布局中,你必须把你的碎片。 - 写这个布局文件的一般版本(即文件具有相同的名称,但位于该
layout
文件夹中),仅包含ListFragment。 - 让您的活动从
ListFragment
处理onItemClick
事件。每次点击某个项目时,都必须检查该活动是否显示了这两个片段或仅显示了ListFragment
。如果两者都可见,则必须通知细节片段,以选择新项目,以便显示其数据。否则,您必须创建新的细节片段(当然,您可以重复使用),将关于所选项目的一些信息(以便显示项目的数据)传递给它,并用新的细节代替ListFragment
。
这是一个基本的概述,但它应该足以让你对这个流程有所了解。如果您需要更多的细节 - 请让我知道。 :)
下面是developer.android.com fragment-ui和adaptui
一些链接,这些都是有关片段一些指引,但他们使用的是主/详细信息的应用程序告诉。
另外,不要忘了签出新闻阅读器应用程序作为样本在第二个链接提供。
主/明细流和空白活动与您想通过更改应用程序主题或应用程序基本主题进行更改不同。如果您首先使用UI片段设计主/明细流模板,则会更好,然后根据您的空白活动与主模板进行必要的更改。对于master/detail流程教程,只需google它,你会发现很多例子。
如果您有最新的Android SDK的版本,你应该能够创建一个新的Android应用程序,并在此过程中,你可以选择让向导创建一个主/详细信息流的应用为您服务。它会创建一个基本的工作应用程序,以便您可以查看代码并了解必要的部分。然后,根据您的应用程序的简单程度,您可能希望将所有当前代码移至新应用程序,反之亦然。
宏观变化会发生:
- 更改当前的所有活动,而不是
extend Fragment
。 - 你将不得不创建一个FragmentActivity来调用你的Fragments。这基本上就是样板代码,只需添加Fragments的名称即可。
- 不要忘记仔细检查你的Manifest!
在转换后的碎片,以前延长活动时间:
- 无处不在,你需要一个背景下,切换与
getActivty()
(或创建一个全局变量,让它只调用一次) 变化
onCreate()
到public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mView = inflater.inflate(R.layout.fragment_signals, container, false); setHasOptionsMenu(true); // Add if you want to display a Menu // Your initiation code here return mView; }
如果你有一个菜单,将其更改为
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.activity_main, menu); super.onCreateOptionsMenu(menu, inflater); }
这就是它的基本应用。当您首先将活动更改为片段时,会出现很多错误。但是,它们都很容易修复。
- 1. 通用应用程序 - 主细节
- 2. 以编程方式更改应用程序主题(不在主要活动中)
- 3. 修改Sherlock主细节流程
- 4. 如何从应用程序中更改为Holo Dark/Light主题?
- 5. 如何将应用程序默认主题更改为不同的应用程序主题?
- 6. 刷新Android主/从细节部分详细流程的主页
- 7. 主细节应用程序初始视图控制器更改
- 8. 如何动态更改总ASP.NET应用程序的主题?
- 9. Android主/细节流程操作细节活动中的片段视图
- 10. 如何在主从应用程序更改的DetailView为iPad
- 11. 本地主机上的流星应用程序空白:3000
- 12. 将主题更改为noTitle时应用程序崩溃
- 13. 只有片段的主/细节流程
- 14. 如何将TabHost的主题从Holo.Light更改为Dark主题
- 15. 如何使详细视图在主细节中可滚动应用程序
- 16. 主细节应用程序 - 主按钮 - MasterBtn
- 17. 如何将地图添加到Android主/细节流程正确?
- 18. 如何实现应用程序的更改主题?
- 19. 如何更改Android应用程序的主题?
- 20. 如何根据应用程序的整体主题更改`app:popupTheme`?
- 21. 如何在Android中更改应用程序的主题?
- 22. Android:将图像添加到主细节流程,滚动文字
- 23. 重新启动当前活动以更改应用程序主题
- 24. 从主应用程序获取主要活动
- 25. 更改活动主题从片段
- 26. Android应用程序问题将主要活动带到前面
- 27. And + Eclipse:如何将主要活动更改为子活动
- 28. 以编程方式更改主要启动程序活动
- 29. 应用程序看起来像主屏幕控制器的主细节行为
- 30. ios - 如何更改应用程序颜色主题
注:我个人讨厌这种布局,侧面板太多没有目的的屏幕。我会考虑DrawerLayout,链接:http://developer.android.com/training/implementing-navigation/nav-drawer.html – LuckyMe
@LuckyMe谢谢,但这不是我所要求的。 – Waqleh
我知道,这就是为什么我没有把它作为答案... – LuckyMe