Android 4.0选项卡式活动布局

时间:2012-07-30 22:37:57

标签: android android-actionbar tabactivity

我的应用中有2-3个活动,它们共享内存池中的数据。我希望能够轻松地在这些活动之间切换,同时保持它们同时运行。另外,我正在为Android 4.0开发。我想使用TabActivity,但它已被弃用并替换为ActionBar,我已尝试但我不认为这是我正在寻找的。我想要大的标签,类似于在Android音乐应用程序中找到的经典“艺术家/播放列表/所有”标签,或者类似于下面屏幕截图底部的标签栏。有没有人知道创建这些选项卡的库或使ActionBar更具可定制性的方法?或者使用TabActivity是一个非常好的解决方案,即使在ICS设备上也是如此?

enter image description here

3 个答案:

答案 0 :(得分:1)

实际上,ActionBar正是您所寻找的。

您应该将Activites转换为片段。假设它们不是太复杂,这根本不应该是难的。那里有很多例子。您需要一个活动,最好是FragmentActivity,以容纳所有活动。

这应该有所帮助:

http://arvid-g.de/12/android-4-actionbar-with-tabs-example

答案 1 :(得分:1)

这有几个问题,我将尝试解决所有问题:

- 为了使用顶部标签,您需要使用ActionBar。

- 如果您是以音乐应用程序的风格进行操作,在视图之间横向滑动,当前标签的标签始终位于前面和中间...为此,您要使用的课程被称为ViewPager

您可以通过在eclipse中创建一个新的Activity并查看向导来查看所有这些方法。在“导航类型”下,您可以选择“标签”,“标签+滑动”,“滑动视图+标题条”。创建这些活动中的任何一个以查看它的外观,然后查看代码以了解它是如何实现的。如何定制它。

不鼓励在底部进行导航 - 请参阅Android Design Guide,规范“不要使用底部标签栏”

答案 2 :(得分:1)

您现在可能已经找到了答案,但我想我会分享另一种方法,您可以使用图像和xml创建类似标签栏的内容:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"        
    android:orientation="vertical"
    android:id="@+id/main">

    <LinearLayout 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"        
        android:orientation="horizontal"
        android:background="@drawable/tabackground"
        android:layout_alignParentBottom="true"
        android:id="@+id/llBottom">

        <ImageButton 
            android:src="@drawable/icon2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#00000000"
            />

        <ImageButton 
            android:src="@drawable/icon3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#00000000"
            />

        <ImageButton 
            android:src="@drawable/icon4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#00000000"
            />

        <ImageButton 
            android:src="@drawable/icon5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#00000000"
            />        


    </LinearLayout>

    <ImageView         
        android:layout_height="24dp"
        android:layout_width="fill_parent"
        android:layout_alignTop="@+id/llBottom"       
        android:background="#10ffffff"/>

    <ImageView         
        android:layout_height="1dp"
        android:layout_width="fill_parent"
        android:layout_alignTop="@+id/llBottom"       
        android:background="#30ffffff"/>

</RelativeLayout>

enter image description here

不完美,但有一些创造力和改变一些价值观,它看起来非常好。

希望它在某种程度上有所帮助。