Java Android主布局模板

Java Android主布局模板,java,android,android-layout,Java,Android,Android Layout,嗨,我在安卓上工作 我有一个在每项活动中使用的布局 我的意思是我有一个有页脚和页眉的布局 在每个活动中,页眉和页脚相同,并且具有相同的操作 我想使用页眉和页脚的总体布局 我的意思是,在一个活动中,我会把内容区域的布局放到总体布局中 我找到了一些东西,但还不够 我该怎么做 有没有一份做这件事的假文件 抱歉,英语不好。您可以使用包含作为页眉和页脚,或者从基类动态添加它们,但我认为更好的方法是使用单个活动来托管应用程序,然后使用片段作为屏幕内容 您所说的是一种新的Android设计模式,称为碎片。因

嗨,我在安卓上工作

我有一个在每项活动中使用的布局

我的意思是我有一个有页脚和页眉的布局

在每个活动中,页眉和页脚相同,并且具有相同的操作

我想使用页眉和页脚的总体布局

我的意思是,在一个活动中,我会把内容区域的布局放到总体布局中

我找到了一些东西,但还不够

我该怎么做

有没有一份做这件事的假文件


抱歉,英语不好。

您可以使用包含作为页眉和页脚,或者从基类动态添加它们,但我认为更好的方法是使用单个活动来托管应用程序,然后使用片段作为屏幕内容


您所说的是一种新的Android设计模式,称为碎片。因为3.0片段是类似于活动的小视图,可以组合成一个屏幕

因此,您将创建一个页眉和页脚片段,然后将它们包含在所有需要它们的活动中

您可能希望查看的另一个模式是操作栏模式,它用于将一个栏放置在具有常见内容和功能的屏幕顶部,类似于标题

另一种方法是使用xml文件定义页眉和页脚,然后在代码中将它们实例化为视图,并以编程方式将它们添加到内容视图xml定义中。问题是页眉和页脚后面的代码需要在每个控制器中复制。您最好的选择是使用片段,我将在下面提供一些有用的链接:


我不反对片段,是的,它们是一条路,但是对于初学者android开发者来说,你可以通过
和基本活动实现你想要做的事情

这很好地解释了
s的用法,但总而言之,您可以将一个布局xml文件“包含”到另一个布局中,而不是反复重写相同的内容

对于页眉和页脚的功能(假设它们在单击时执行某些操作),您可以创建一个基本活动来扩展它,而不是普通的安卓
活动
。 定义此基本活动中页眉和页脚单击的逻辑,例如使用以下示例代码:

public class MyBaseActivity extends Activity {
...
public void onHeaderClick(View view) {
// when header is clicked, do this.
}
public void onFooterClick(View view) {
// when footer is clicked, do this.
在布局(作为单独的xml)中,向页眉/页脚添加
onClick
属性,在基本活动中指定方法的名称

比如

android:onClick="onHeaderClick"

然后,只需将MyBaseActivity扩展到所有具有页眉和页脚的活动。

请检查,您确实可以随时重用布局。

@Josepus:我没有实现这个问题中提出的任何问题。但我喜欢你对基本活动的概念。你有关于你的概念的链接吗?因为思考你的概念让我产生了一些怀疑。这实际上是一个自我发现的想法,但当我读到stackoverflow关于同一问题的文章时,出现了类似的解决方案(或者更确切地说,相同的精确解)。(虽然没有链接。尝试搜索“安卓基本活动”)重要的是,它可以工作:)我正在使用安卓2.1版本,然后使用安卓兼容软件包。Android的设计非常简单,可以为4.0设计一个应用程序,然后使用该软件包为以前的版本快速重新设计。如果您不使用片段,那么以后将几乎不可能重构以使用片段,我从这方面的经验中知道。rhis代码呢?这是一个伟大的想法,但碎片给你更多的力量。我的应用程序是一个火车时刻表应用程序。因此,我的主屏幕上有标题、主要功能(如搜索、地图、车站等按钮)、收藏夹、附近到达、附近出发和twitter火车晚点通知的片段。根据屏幕的大小,我会动态地隐藏某些片段,这样屏幕在所有级别上都很有用,其他片段会被放在其他屏幕上。片段的另一个好处是可重用性。其想法是,每个片段都会显示您最喜欢的内容或提供一个标题。然后,要重用所有您需要做的就是导入片段,而不需要任何主要的代码复制。因此,每个片段都是UI和代码的自包含块。真的很有用,我用的是安卓2.1版,这不是问题。Android兼容包中包含了片段(请查看SDK管理器),因此您可以在Android v3.0之前的版本中轻松使用片段。除此之外,您还可以使用www.ActionBarSherlock.com,这是一个库(除了片段),它还提供了ActionBar,该代码不使用片段。这有问题吗?Android不是ASP.NET。我认为没有理由不使用片段,这就是它们的用途。我将尝试使用兼容的包。它支持v4中的所有功能吗?