我正在尝试将iOS应用移植到Android。我是一个Android noob,但我在iOS上很有经验。这是我的应用程序的屏幕截图。
UITableView
具有自定义单元格类型:切换单元格,点击以打开和关闭开关。多值单元格:点按以展开UIPickerView
。我的iOS应用程序还有一个用于更多屏幕的标签栏。
所以我开始使用Android Studio中的默认TabLayout
模板,并让它显示三个不同的片段。
然后我继续制作主界面。那是PreferenceFragment
在我的搜索中出现,并且看起来是一个非常好的主意 - 我的iOS应用程序有一个相对复杂的架构来跟踪状态,PreferenceFragment
承诺照顾这是透明的,所以我在。
然而,TabLayout
does not seem to like PreferenceFragments
因为它们与 compat 片段不同(我做得对吗?)。无论如何,相关的问题提出了一些我不愿意遵循的解决方案(重新发明轮子?严重吗?)。
阅读时,人们建议我可能会使用PreferenceActivity
,但我真的很喜欢片段的想法,主要是因为我希望我的应用扩展到平板电脑并具有“不同”的用户界面,两个不同的参数列表并排显示 - 片段作业,对吧?
现在,我能想到的最好的就是回到RecyclerView
,所以我的问题是:是吗?如果是这样,RecyclerView
是否同时支持UITableView
这样的不同类型的单元格?我还应该说,我并不特别关心Android< 5.0,如果这有帮助......
将iOS应用程序移植到Android时,我可以遵循的任何其他提示或指示?
答案 0 :(得分:0)
TabLayout
似乎不喜欢PreferenceFragment
的原因是因为PreferenceFragment
延伸android.app.Fragment
而非android.support.v4.app.Fragment
(你确实做到了这一点), TabLayout
(实际上,FragmentPagerAdapter
)期望。
如果您希望PreferenceFragment
的功能与其他app-compat小部件配对,请导入v7 Preference Support Library:
compile 'com.android.support:preference-v7:24.2.1'
然后你可以扩展android.support.v7.preference.PreferenceFragmentCompat
,它本身从android.support.v4.app.Fragment
延伸。