我使用WebView和頁面頂部的不可見菜單創建了一個應用程序(僅在雙擊屏幕時出現)。該菜單是一個簡單的線性佈局,裏面有按鈕。每個按鈕都會啓動一個不同的活動,我想這樣做,這樣菜單就可以在所有活動中使用。 我正在考慮創建一個主要的佈局,這個佈局將包含頂部和其他屏幕上的(不可見)菜單,它將爲其他活動提供空間。我希望每個活動都有自己的佈局。 也許我可以用頂部的菜單創建該佈局,其餘的空間將是線性佈局。然後我會調用該線性佈局中的每個活動。 這是可能的,如果是這樣,怎麼做? 任何幫助將不勝感激。Android - 線性佈局內的活動
回答
您可以通過創建一個Activity
它在頂部有你看不見的佈局和FrameLayout
集裝箱您Fragments
實現這一目標
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/invisible_menu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" >
<!-- your other views here -->
</LinearLayout>
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/invisible_menu" />
</RelativeLayout>
這就是MainActivity
,它可以容納你所有的Fragments
。對於您的應用程序中使用Fragments
你應該檢查Android Developers - Fragments
編輯:這裏是你如何添加/通過代碼替換Fragments
:
要添加首Fragment
只需撥打:
FragmentTransaction transaction = getFragmentManager().beginTransaction();
ExampleFragment fragment = new ExampleFragment();
transaction.add(R.id.fragment_container, fragment);
transaction.commit();
// Commit the transaction
transaction.commit();
而且之後,用另一個Fragment
替換內容,則應在onClick
中執行類似操作:
// Create new fragment and transaction
Fragment newFragment = new ExampleFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);
// Commit the transaction
transaction.commit();
所以基本上你應該使用FragmentTransaction.add()
和FragmentTransaction.replace()
。
你可以給我一個關於如何在MainActivity的OnCreate內啓動一個WebView片段的例子嗎?謝謝 – Izak
創建一個片段並添加一個WebView作爲它的內容。這與Activity – hardartcore
中的操作幾乎一樣。我創建了一個片段類並插入了代碼,然後將該片段添加到activity_main.xml中的FrameLayout中。它工作正常,但我怎麼能從MainActivity而不是從xml文件調用它?或者至少我怎麼會按下按鈕時調用另一個片段? – Izak
據我瞭解,你可以那樣做:
1-創造出extneds LinearLayout中的菜單類。
2 - 創建一個類擴展活動,它內部創造
3-所有其他活動應擴展了活動,您在步驟2中
4-在onStart你應該添加菜單視圖所有其他活動中創建的菜單視圖屏幕
但我強烈建議您使用導航抽屜。
http://developer.android.com/design/patterns/navigation-drawer.html和
http://developer.android.com/training/implementing-navigation/nav-drawer.html
如果你想支持舊版本的Android(即,避免片段),您可以使用<include>
的菜單佈局添加到每個活動。您需要在每個活動的onCreate中連接點擊事件,不過您可以將此代碼封裝到另一個類中。
MainActivit.java
public class MainActivity(){
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main)
}
}
和activity_main.xml中:
- 1. Android動畫線性佈局
- 2. 框架佈局內的線性佈局
- 3. 如何在線性佈局內開始新的活動?
- 4. Android Tabview內部的線性佈局
- 5. Android線性佈局
- 6. 佈局Android活動
- 7. 更多線性佈局的Android佈局
- 8. 動畫的線性佈局
- 9. 線性佈局 - 內用線性佈局沒有得到顯示
- 10. 的Android線性佈局與動畫
- 11. Android空線性佈局內容
- 12. 線性佈局內相對佈局中的文本android
- 13. Android中的線性佈局
- 14. Android活動的xml佈局
- 15. 線性佈局裏面android中的線性佈局
- 16. 滾動線性佈局超出內容
- 17. 滾動視圖內的線性佈局的Android難度
- 18. Android線性佈局z-order動畫
- 19. Android - 交換線性佈局動態
- 20. Android:如何在線性佈局內設置網格佈局?
- 21. 線性佈局不滾動
- 22. Android線性佈局DoubleLine
- 23. 圓形線性佈局android
- 24. Android:線性佈局新行
- 25. 線性垂直佈局 - Android
- 26. 線性佈局對齊 - Android
- 27. Android線性佈局困難
- 28. Android線性佈局錯誤
- 29. 瞭解Android線性佈局
- 30. 2佈局1活動android
在我看來,更好的解決方案是在一個主要活動中創建這個不可見的菜單,並根據按下的按鈕添加/替換碎片。這樣,你看不見的菜單將只在一個活動中繪製,並且所有的片段都會有它自己的自定義佈局。 – hardartcore
所有活動contentView的佈局relativeLayout或FrameLayout?如果不是,則必須使用relativeLayout或framelayout。 – nurisezgin
你可以使用片段來做到這一點..創建一個片段的不可見菜單和主佈局的另一個片段...更多信息請參閱http://developer.android.com/guide/components/fragments.html –