我有一個應用程序在基本主題「空白活動」上工作,我想要做的是將其更改爲「主/細節流程「主題。我知道這會讓我的應用程序在android SDK 11 +(android 3.0 Honeycomb +)上工作,這對我來說是OK的。問題是我不知道從哪裏開始,進行BIG轉換的基本步驟是什麼?我找不到任何例子來幫助我解決這個問題。我應該尋找什麼。我確信這已經完成了,至少請給我一些關於如何做到這一點的指示? 我的應用程序並不複雜,它使用活動,異步任務,數據庫,自定義列表......這是非常基本的。我使用自定義列表來顯示數據,當我點擊它時,它顯示了更多的細節,所以我想在比「主/細節流」更專業的問題上做更好的方法。如果你有任何關於「主/細節流程」的教程,你可以幫我解決這個問題。如何將應用程序主題從普通的「空白活動」更改爲「主/細節流程」
回答
我有對基本主題運行的應用程序「空白活動」 什麼我想要做的就是將其更改爲一個主/詳細信息流」 主題。
我想應用程序流程的改變會更適合於主題的變化,兩個顯而易見的問題是,爲什麼你突然想要做這個改變,並確定你的應用程序在主/細節流程中是有意義的?答案最多可能是積極的,但你應該回答他們。
我知道,這將使得在Android SDK我的應用工作11 + (Android 3.0的蜂窩+),這是我的OK
我不明白爲什麼你的應用程序不能使用新的主/細節材料在以下版本中運行。
問題是我不知道從哪裏開始,什麼是基本的 步驟使這個BIG轉換?我找不到任何示例來幫助 我解決這個問題。我應該尋找什麼。我相信這 已經完成,你至少可以請給我一些指示如何 做到這一點?
您還沒有提供關於您的應用如何實施的詳細信息。更改將圍繞碎片進行,因此如果使用碎片框架構建當前的單個窗格版本,則會出現大問題。
如果您的應用程序是使用碎片構建的,那麼做出更改不應該太難。你需要:
- 確定哪些部分(片段)應在活動(從舊的)相結合,使主/細節(當空間允許的話)
- 變化多窗格活動以適應新的片段。這應該很容易做到,但這取決於每個碎片暴露的特徵的大小。
- 修改活動的其餘部分(用於當應用程序將不會在多窗格模式運行),這將是小變化的活動將主要保持爲最新版本
如果您的應用程序ISN」使用片段構建,那麼我上面所說的仍然適用,但你也需要實際上使所需的片段包裝你的應用程序的任何功能。這很可能會導致大的代碼重構。
這是一個關於Android的主/詳細信息模板教程 - An Android Master/Detail Flow Tutorial。
據我瞭解你的應用程序啓動並運行 - 所以我不知道它是否值得去嘗試重寫它,除非你正在經歷當然一些問題。 :) 一般主/詳細信息流需要以下幾個步驟:
- 實現一個
ListFragment
顯示您的項目 - 的基本信息實現一個
Fragment
顯示有關特定項 - 詳細信息撥打XML佈局大型設備文件(位於
layout-sw600dp
文件夾中)。在這個佈局中,你必須把你的碎片。 - 寫這個佈局文件的一般版本(即文件具有相同的名稱,但位於該
layout
文件夾中),僅包含ListFragment。 - 讓您的活動從
ListFragment
處理onItemClick
事件。每次點擊某個項目時,都必須檢查該活動是否顯示了這兩個片段或僅顯示了ListFragment
。如果兩者都可見,則必須通知細節片段,以選擇新項目,以便顯示其數據。否則,您必須創建新的細節片段(當然,您可以重複使用),將關於所選項目的一些信息(以便顯示項目的數據)傳遞給它,並用新的細節代替ListFragment
。
這是一個基本的概述,但它應該足以讓你對這個流程有所瞭解。如果您需要更多的細節 - 請讓我知道。 :)
下面是developer.android.com fragment-ui和adaptui
一些鏈接,這些都是有關片段一些指引,但他們使用的是主/詳細信息的應用程序告訴。
另外,不要忘了簽出新聞閱讀器應用程序作爲樣本在第二個鏈接提供。
主/明細流和空白活動與您想通過更改應用程序主題或應用程序基本主題進行更改不同。如果您首先使用UI片段設計主/明細流模板,則會更好,然後根據您的空白活動與主模板進行必要的更改。對於master/detail流程教程,只需google它,你會發現很多例子。
如果您有最新的Android SDK的版本,你應該能夠創建一個新的Android應用程序,並在此過程中,你可以選擇讓嚮導創建一個主/詳細信息流的應用爲您服務。它會創建一個基本的工作應用程序,以便您可以查看代碼並瞭解必要的部分。然後,根據您的應用程序的簡單程度,您可能希望將所有當前代碼移至新應用程序,反之亦然。
宏觀變化會發生:
- 更改當前的所有活動,而不是
extend Fragment
。 - 你將不得不創建一個FragmentActivity來調用你的Fragments。這基本上就是樣板代碼,只需添加Fragments的名稱即可。
- 不要忘記仔細檢查你的Manifest!
在轉換後的碎片,以前延長活動時間:
- 無處不在,你需要一個背景下,切換與
getActivty()
(或創建一個全局變量,讓它只調用一次) 變化
onCreate()
到public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mView = inflater.inflate(R.layout.fragment_signals, container, false); setHasOptionsMenu(true); // Add if you want to display a Menu // Your initiation code here return mView; }
如果你有一個菜單,將其更改爲
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.activity_main, menu); super.onCreateOptionsMenu(menu, inflater); }
這就是它的基本應用。當您首先將活動更改爲片段時,會出現很多錯誤。但是,它們都很容易修復。
- 1. 通用應用程序 - 主細節
- 2. 以編程方式更改應用程序主題(不在主要活動中)
- 3. 修改Sherlock主細節流程
- 4. 如何從應用程序中更改爲Holo Dark/Light主題?
- 5. 如何將應用程序默認主題更改爲不同的應用程序主題?
- 6. 刷新Android主/從細節部分詳細流程的主頁
- 7. 主細節應用程序初始視圖控制器更改
- 8. 如何動態更改總ASP.NET應用程序的主題?
- 9. Android主/細節流程操作細節活動中的片段視圖
- 10. 如何在主從應用程序更改的DetailView爲iPad
- 11. 本地主機上的流星應用程序空白:3000
- 12. 將主題更改爲noTitle時應用程序崩潰
- 13. 只有片段的主/細節流程
- 14. 如何將TabHost的主題從Holo.Light更改爲Dark主題
- 15. 如何使詳細視圖在主細節中可滾動應用程序
- 16. 主細節應用程序 - 主按鈕 - MasterBtn
- 17. 如何將地圖添加到Android主/細節流程正確?
- 18. 如何實現應用程序的更改主題?
- 19. 如何更改Android應用程序的主題?
- 20. 如何根據應用程序的整體主題更改`app:popupTheme`?
- 21. 如何在Android中更改應用程序的主題?
- 22. Android:將圖像添加到主細節流程,滾動文字
- 23. 重新啓動當前活動以更改應用程序主題
- 24. 從主應用程序獲取主要活動
- 25. 更改活動主題從片段
- 26. Android應用程序問題將主要活動帶到前面
- 27. And + Eclipse:如何將主要活動更改爲子活動
- 28. 以編程方式更改主要啓動程序活動
- 29. 應用程序看起來像主屏幕控制器的主細節行爲
- 30. ios - 如何更改應用程序顏色主題
注:我個人討厭這種佈局,側面板太多沒有目的的屏幕。我會考慮DrawerLayout,鏈接:http://developer.android.com/training/implementing-navigation/nav-drawer.html – LuckyMe
@LuckyMe謝謝,但這不是我所要求的。 – Waqleh
我知道,這就是爲什麼我沒有把它作爲答案... – LuckyMe