2012-08-15 64 views
0

我针对的是Android 2.1上的应用程序。我有一个包含三个部分的布局。标题,主体和页脚。页脚在整个应用程序生命周期中保持不变。页脚有四个供用户选择的选项(如四个选项卡)。当用户选择页脚中的每个选项时,内容必须在主体中更改。并且当用户与主体中的UI进行交互时,需要改变主体的内容(如活动替换活动)。并且页脚中的用户选择必须保持突出显示,直到用户在页脚中选择另一个选项。我们需要在同一个选项卡中启动活动,但标签放置在下面。很多人都建议使用activitygroup,但因为它已被弃用,我该如何去做这件事?如果任何人需要更清晰的问题,我准备提供需要的基本设计

+2

令人惊讶的是,您将问题标签设置为android-fragments,并且您没有在您的问题中提及片段。顺便提一下,你的问题的答案是“在你的设计中使用片段”,它会做你所有的工作 – rajpara 2012-08-15 08:25:29

+0

plsss更具体...我应该使用片段中的标签和替换片段与另一个片段时,用户与用户界面内容交互或tabcontent有没有其他方法? – vivek 2012-08-15 08:50:53

+0

vivek,请参阅我对片段使用的回答。 – 2012-08-15 09:00:57

回答

1

如果你想从2.1或更高版本的低版本支持,我可以提出我的方式。我总是用单独的XML布局托盘(在你的情况下页脚),例如(RES /布局/ tray.xml):

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/mainMenu" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom" 
    android:background="#EEEEEE" 
    android:gravity="bottom|fill_horizontal" 
    android:orientation="horizontal" 
    android:padding="5dp" > 

    <ImageView 
     android:id="@+id/addBtn" 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:src="@drawable/add" android:layout_weight="0.2"/> 

    <ImageView 
     android:id="@+id/catalogBtn" 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:src="@drawable/catalog" android:layout_weight="0.2"/> 

    <ImageView 
     android:id="@+id/searchBtn" 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:src="@drawable/search" android:layout_weight="0.2"/> 

    <ImageView 
     android:id="@+id/settingsBtn" 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:src="@drawable/settings" android:layout_weight="0.2"/> 

    <ImageView 
     android:id="@+id/infoBtn" 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:src="@drawable/info" android:layout_weight="0.2"/> 

</LinearLayout> 

,包括它在每一个活动我需要:

<include layout="@layout/tray" android:id="@+id/tray" /> 

后,我可以在Java代码中隐藏/显示托盘中某些按钮的ID,或者用另一种颜色选择他们中的一些...

0

要显示所有活动的页脚菜单,你可以创建一个自定义布局 - 页脚的布局 - 并将其包含在每一个活动,或者更具体的,包括它的每一次活动与<include />

同样的布局,所有的活动应该有一个父活动,让它成为BaseActivity ,您将在其中为您的页脚菜单提供适当的操作。

然后,您将只需要继承BaseActivity并将页脚菜单布局包含到当前布局中,让菜单可用于任何您想要的活动。

0

另一种可能的方法是使用fragments而不是每个内容页面的完整活动。片段与活动非常相似,只不过它们需要嵌入到要显示的活动中,而且它们让您可以自由更改活动某个部分的内容(即将一个片段换成另一个片段),这意味着您可以活动的另一部分保持不变 - 例如用于在这些片段之间切换的选项卡。一个不错的好处是,在其他活动中重复使用该内容页面非常容易,如果您选择创建适用于平板电脑的版本,则可以轻松组合更复杂的现有片段视图。

ViewPager与某种类型的页面指示符(如the tab indicator here)一起使用时,您可以拥有活动片段并在它们之间轻松切换。

由于您的目标是2.1,因此您需要使用android support library来支持片段。