2012-08-15 62 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來支持片段。