android - fragment Activity 处理

标签 android android-fragments android-viewpager activitygroup

我正在学习 Android 以移植我创建的 iOS 应用程序。我在理解如何通过 ActivityGroup 或 FragmentActivity 同时在屏幕上进行多个 Activity Activity 时遇到一些麻烦。 ActivityGroup 已被弃用,但似乎是最好的方法。

在深入了解更多细节之前,我可以借助一些帮助来确定正确(或最佳)的方法。

这是我要创建的内容:

应用程序应分为三个可视部分: 1) 持久动态横幅的前 50dp。 2) 中间的主要内容区域是一个 viewpager 仪表板,带有允许导航到其他 Activity 并替换自身的图标。 3) 底部 30 dp 音乐播放器栏。

基本上,我希望广告栏和播放器栏独立于主要内容区域工作。例如,当在主要内容区域中按下按钮时,我希望主要内容区域被新 Activity 替换,例如轨道 ListView 、 WebView 、 map View 等。后退按钮将返回仪表板 View 寻呼机的主要内容区域。

在某些情况下,我希望能够隐藏顶部和底部的栏以使主要内容区域全屏显示,并且在某些情况下我希望全屏显示 Activity 以在视觉上替换所有 3 个(例如访问邮件编辑器 Intent 、联系人 Intent 等)

我已经能够将一个 FragmentActivity 放在一起,它将应用程序分为顶部 fragment 、由 FragmentActivity 控制的中间 viewpager 和底部 fragment ,但这似乎不是最佳方法,因为 fragment 不是 Activity 自己并用新 Activity 替换 View 寻呼机将需要替换整个 FragmentActivity 本身。

至此,实现这种格式(支持 2.1+)的最佳布局方法是什么。

谢谢, 詹姆斯

添加当前代码:

主.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
    <fragment
        android:name="com.dmi.AnywhereArtist.AdFragment"
        android:layout_width="320dp"
        android:layout_height="50dp"
        android:id="@+id/ad_fragment" >
    </fragment>
    <android.support.v4.view.ViewPager
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:id="@+id/main_pager"
    android:layout_weight="100" 
    android:background= "#00aa00" />
    <fragment
        android:name="com.dmi.AnywhereArtist.PlayerFragment"
        android:layout_width="fill_parent"
        android:layout_height="30dp"
        android:id="@+id/player_fragment" >
    </fragment>
</LinearLayout>

最佳答案

使用 fragment 。

需要牢记的重要一点是,Android 一次只允许运行一个 Activity,即使在屏幕上可以看到多个 Activity。

Fragment 解决了这个问题,它允许您采用模块化应用程序组件并将它们组合起来,同时仍将所有内容保留在单个 Activity 中。

您尝试做的正是 Fragment 的设计目的。

(要获得 2.1+ 支持,请使用支持包:http://developer.android.com/sdk/compatibility-library.html。不过请记住,支持包不支持 MapFragments。)

关于android - fragment Activity 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8675125/

相关文章:

android - SurfaceView + Canvas,从一种颜色淡入另一种颜色

android - 将 map (谷歌地图 v2)放入 fragment 中的最佳方式

android - ViewPager 和 fragment 的示例/教程

java - 从 Fragment 更改为 Activity

android - 如何使用 ViewPager 或其他东西来滚动文本?

android - 如何禁用 ViewGroup 的所有子项上的所有触摸事件?

android - 发送 GET HTTPS 请求但得到 403 forbidden 响应,为什么?

android - 每个 Android 设备上的应用程序是否有任何永久不可移动的全局存储可用?

android - Activity 中的复选框状态更改

android - Activity 与 Fragment 交互