0

我是 Android 新手,正在开发我的第一个应用程序,目前这仍然是一个“Hello World”的工作。在我的主要活动中,我想要一组两个选项卡。第一个选项卡是一个布局,由几个子线性布局组成,基本上是顶部的按钮/文本行和下面的列表视图(为简洁而编辑):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="8"

    <ImageButton
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="34dp"
        android:layout_weight="0.86"/>

    <ImageButton
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
  </LinearLayout>

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1">

    <ListView
        android:id="@+id/listview1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    </ListView>
  </LinearLayout>

第二个选项卡将是一个填充整个选项卡的列表视图。我将上述布局作为我的主要活动,并试图将其放入选项卡视图并在选项卡 2 中创建列表视图。每个按钮和列表项单击都会启动其各自的活动。

我发现了许多使用 TabActivity 类的选项卡实现示例/教程,现在似乎已弃用。据我所知, FragmentActivity 似乎是替代品。

我已经让这个示例工作了,但是还没有成功地将列表视图放入选项卡中,更不用说我的嵌套布局了。我会继续努力的!

标签的片段方法是当前公认的最佳实践吗?从我所见,我仍然倾向于将其作为 UI 解决方案与操作栏。在看到这些选项卡式片段实现中有多么复杂之后,我可能会改变主意。:-)

任何指向可以在选项卡中实现列表视图和/或嵌套布局的好示例的指针?

提前致谢!

4

1 回答 1

0

像您一样,我是 Android 新手,所以我不确定这是否适合您,但以下示例使用 ListFragment 在带有 Fragments 的选项卡内实现两个列表:

http://android.codeandmagic.org/2011/07/android-tabs-with-fragments/

至于 Fragment 方法,我个人觉得它与使用 TabActivity 的旧风格相比非常复杂。看起来 Android 的开发团队匆忙开发了用于 ICS 的 Fragments(覆盖平板电脑?)并选择弃用 TabActivity 以推动每个人使用 Fragments,但没有先花时间进行全面测试它们的有用性和正确性。

当您用更复杂的东西替换简单的东西并弃用旧的东西而没有任何真正明显的优势时,会留下草率决定的坏印象,我不会感到惊讶将来会发生这种情况的逆转(除非我们看到ICS 反而退出了平板电脑市场)。

最终,市场会做出决定,但从过去的经验来看,它通常不会选择更复杂的做事方式作为赢家;特别是当巨大的优势似乎不存在时。

于 2012-06-15T07:44:56.223 回答