在我的应用程序中,我有一个菜单,我想为每个活动和我拥有的不同页面显示。问题是我无法找到将此菜单应用于所有活动的方法,也无法找到将活动加载到屏幕的某个部分的方法。
屏幕中央有一个宽大的矩形,我很想拥有它,以便每当我打开一个新的屏幕,在矩形内部屏幕布局负载。
或者我只是要为每个布局复制并粘贴xml代码?
答案 0 :(得分:1)
您应该考虑使用Fragments。您可以定义一个Fragment
,可以在应用程序的每个Activity
中重复使用,而不必在不同的Activities
之间复制其逻辑。希望这可以帮助。
答案 1 :(得分:1)
您无法将Activity
加载到屏幕的某个部分。为此(如@Egor建议)使用Fragment
。
但是,关于常见的菜单,我建议您创建一个基类extends Activity
并包含您希望在活动中常用的所有内容。稍后,使用您的基类来扩展您的活动。
答案 2 :(得分:0)
有一些事情可以做到这一点。
一种是编写一个自定义菜单,您可以通过onCreateOptionsMenu
或ActionBar进行充气。
您也可以通过在菜单中单独编写一个xml并使用<include>
标记将其添加到所有layout-xml中来完成此操作。
第三种方法是使用Fragments-Class:link
答案 3 :(得分:0)
你永远不应该将xml代码从一个布局剪切并粘贴到下一个布局......这就是我们包含的原因:
<include layout="@layout/header"/>
不要过度思考你的问题,你应该查看片段,这样你就可以像菜单一样创建可重复使用的小部件,或者扩展你的活动以抽象出你的菜单逻辑。