假設我有10個佈局不.java
文件。我想使用按鈕調用所有佈局。是否有可能只有一個MainActivity
.java
文件意味着我們可以使用多個setContentView
?是否可以調用使用一個主要活動多個XML佈局,而無需創建新的活動
回答
你不能提供一個以上的佈局的任何活動,但如果你想使用一個活動的不同佈局文件比你可以使用標籤包括所有的佈局文件到一個單一的佈局文件,並在你的活動中使用它們。
會更好地利用碎片,而不是 –
的確是這樣,你可以使用片段顯示在活動不同的看法,這是核心片段的概念,但如果你想在你的單身mainActivity所有視圖(不同的佈局視圖)的東西。 如果您的要求沒有同時顯示所有視圖,則可以使用該片段。它取決於UI使用片段的要求或者在xml中包含佈局。 – Mahavir
我仍然不會說使用這種模式。想象一下,如果在一個活動中有10個佈局,則需要編寫多少行findviewby –
在主佈局包括您所有的佈局,使visibility GONE
對於所有其他的佈局。基於按鈕點擊,您可以根據佈局ID顯示任何特定佈局。
示例XML是如下:
<?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="horizontal">
<!-- main layout for first time loading activity-->
<LinearLayout
android:id="@+id/layout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
<!-- Display layout based on button click-->
<LinearLayout
android:visibility="gone"
android:id="@+id/layout2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
<!-- Display layout based on button click-->
<LinearLayout
android:visibility="gone"
android:id="@+id/layout3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
<!-- Display layout based on button click-->
<LinearLayout
android:visibility="gone"
android:id="@+id/layout4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
</LinearLayout>
內存消耗將是一個噩夢,這是一種理想的解決方案,儘管它是一種沒有額外的java文件而缺少佈局點的內存消耗 –
@ Moshe Edri是的我同意內存消耗,但是我給出了基於他的需求的解決方案,因爲他不需要多一個java文件。 – Gaurav
<include layout="@layout/titlebar"/>
標題欄是不同的佈局
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/titlebar_bg"
tools:showIn="@layout/activity_main" >
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gafricalogo" />
包括在主要佈局這樣的..
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/app_bg"
android:gravity="center_horizontal">
<include layout="@layout/titlebar"/>
<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:padding="10dp" /></LinearLayout>
您可以使用Fragments進行此操作。
簡單,在主活動佈局中聲明瞭一個FrameLayout裏。
併爲您希望每個佈局創建碎片。現在
,您可以切換使用段管理佈局。
請參閱此瞭解更多詳情:Here
希望它幫助!
不,你不能單活動使用多個setContentView()
。
如果你只是想其它XML佈局添加到另一個。你可以使用<include>
標籤。
實施例:
layout_one.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="This is layout one"/>
</LinearLayout>
layout_two.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="This is layout two"/>
</LinearLayout>
activity_main.xml中:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<include layout="@layout/layout_one">/>
<include layout="@layout/layout_two">/>
</LinearLayout>
- 1. 可以使用現有佈局創建新的Android活動嗎?
- 2. 有一個主要活動,調用另一個活動
- 3. 創建一個可以被多個活動使用的組件
- 4. TabWidget活動處理 - 是否每次創建一個新活動?
- 5. 是否可以創建多個主佈局 - 佈局Laravel?
- 6. 新活動是否需要內容和活動xml?
- 7. 我是否需要爲每個遊戲級別創建一個新的活動?
- 8. 是否有可能在android的另一個活動下創建一個活動?
- 9. 多個佈局,一個活動
- 10. Android:是否可以引用第二個活動中的活動?
- 11. 一個佈局中的很多活動
- 12. Android的啓動畫面,而無需創建一個新的活動
- 13. 在另一個活動中主動調整相對佈局
- 14. 使用新的而不是意圖在另一個內部創建一個活動是否可行?
- 15. 當孩子活動返回時,需要重新創建一個活動
- 16. 多於一個的主要活動
- 17. 是否可以使用具有相同佈局的兩個活動
- 18. 我可以在活動中使用xml文件和代碼創建佈局嗎?
- 19. 是否可以完成調用活動
- 20. 片段應用程序創建兩個圖標 - 一個用於主要活動,一個用於片段活動
- 21. 如何在uml中創建一個活動圖來支持多個活動而不需要if/else
- 22. 是否可以使用One UI Handler進行多個活動?
- 23. 將佈局從一個活動傳遞到另一個活動
- 24. 觸發滑動動畫而無需調用新活動/片段
- 25. Android活動的xml佈局
- 26. 多個活動單個佈局
- 27. 要創建多個活動嗎?
- 28. Android兩個佈局的一個活動
- 29. 檢查一個活動是否活動
- 30. 如何使另一個活動作爲主要活動(啓動)
使用**'Fragments' ** –
你可以做到這一點通過'FRAGMENTS' –