在我的应用程序上,我有一个菜单,我想为我拥有的每个活动和不同的页面显示该菜单。问题是我找不到将此菜单应用于所有活动的方法,也找不到将活动加载到屏幕特定部分的方法。
屏幕中央有一个很大的矩形,我很想拥有它,这样每当我打开一个新屏幕时,屏幕布局就会加载到矩形内。
还是我只需要复制和粘贴每个布局的 xml 代码?
在我的应用程序上,我有一个菜单,我想为我拥有的每个活动和不同的页面显示该菜单。问题是我找不到将此菜单应用于所有活动的方法,也找不到将活动加载到屏幕特定部分的方法。
屏幕中央有一个很大的矩形,我很想拥有它,这样每当我打开一个新屏幕时,屏幕布局就会加载到矩形内。
还是我只需要复制和粘贴每个布局的 xml 代码?
您应该考虑使用Fragments。您可以定义一个Fragment
可以Activity
在应用程序中重用的 a,而不必在不同的Activities
. 希望这可以帮助。
您无法加载Activity
到屏幕的某个部分。为此(如@Egor 所建议)使用Fragment
.
但是,关于通用菜单,我建议您创建一个基类,其中extends Activity
包含您希望在活动中普遍使用的所有内容。稍后,使用您的基类来扩展您的活动。
有一些方法可以做到这一点。一种是编写一个自定义菜单,您可以通过onCreateOptionsMenu
或者使用 ActionBar 来膨胀。
您也可以通过使用菜单编写单独的 xml 并将其添加到带有<include>
标签的所有布局 xml 中来做到这一点。
第三种方法是使用 Fragments-Class:链接
您永远不应该将 xml 代码从一个布局剪切和粘贴到下一个布局。这就是我们包含以下内容的原因:
<include layout="@layout/header"/>
不要过度考虑您的问题,您应该查看片段,以便您可以创建可重用的小部件,如菜单,或扩展您的活动以抽象出您的菜单逻辑。