当前位置: 首页 > 面试题库 >

Android以编程方式包含布局(即不包含XML)

方风华
2023-03-14
问题内容

因此,我创建了一个名为CustomTitlebarActivity的Activity子类。本质上,我的应用程序中的每个主要活动都将具有一个自定义标题栏,该标题栏具有许多常用功能,例如主页按钮,标题,搜索按钮等。在当前的实现中,我仍然在布局XML中显式使用include语句每个CustomTitlebarActivity:

<include layout="@layout/titlebar" />

我似乎应该能够在CustomTitlebarActivity中执行此操作。我有两个问题:哪些代码可以代替这个include标签,我应该在哪里放置代码?(我的第一个直觉是将其放入CustomTitlebarActivity的setContentView方法中。)

在相关说明中,我希望能深入了解重用android UI代码的更好方法(即使就其本身而言,各活动之间的标题栏也需要稍有不同。)


问题答案:

就个人而言,我可能会将我的Activity子类始终写到setContentView一个布局文件中,该文件fill_parent
LinearLayout包含仅包含标题栏的垂直文件:

<LinearLayout android:id="@+id/custom_titlebar_container"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
   <!--titlebar here-->
</LinearLayout>

然后,我将定义一个抽象getContentAreaLayoutId()方法,CustomTitlebarActivity该方法ID为每个子类返回标题栏下方内容的布局;底座onCreate()CustomTitlebarActivity,然后只需调用

setContentView(R.layout.custom_titlebar_activity_frame_from_above);
View.inflate(this, getContentAreaLayoutId(), findViewById(R.id.custom_titlebar_container));

或者,您可以使用抽象方法来使内容区域返回a View而不是an int,从而为您提供了更大的灵活性来动态地构建视图(但是在 这种 情况下,
通过简单地 转储此XML布局就可以 迫使您自己对其进行膨胀)。



 类似资料:
  • 正在寻找旧JSF页面的解决方案。我试图使用contains方法根据另一列是否包含单词red box来呈现组合框。 这一个工作和组合框被禁用。 但是,我也想在值不包含红色框时渲染它们,但随后将启用combox。 这是行不通的。 因此,我如何测试的任何想法都不包含特定的单词。我还尝试了choose test when,但由于第一个表。col4值只是一个空字符串。 有什么想法吗?谢谢。

  • 我需要一些“包含”和“不包含”的正则表达式。通常我会写: 包含:(.*WORD_A.*)$,不包含:(^((?!WORD_A.*)*)$ 如果单独使用,这很好,但我想写一些可以检测到的东西,比如“包含单词A和单词B”(顺序不相关!)和“包含单词A,但不包含单词B)。 基本上,我希望用户可以做出这样的声明“以单词a开头,包含单词B,但不是C和/或以D结尾”,程序返回真/假。最好的办法是只附加正则表达

  • 我正在与以下情况作斗争: 在我们当前运行在Tomcat 7.0.64上的web应用程序中,我们借助自己的类CharrayWriterResponse实现了HttpServletResponseWrapper,通过Java成功地包含了一个JSP页面。 这样做的原因是我们将生成的超文本标记语言包装成AJAX响应所需的JSON。 依赖项: 代码示例: 提示:我没有考虑上述代码示例中的异常处理。 我必须将

  • 标记有助于在视图层次结构中将一个布局包含在另一个布局中时消除冗余的视图组。例如,如果您的主布局是一个垂直的,其中两个连续的视图可以在多个布局中重用,那么放置这两个视图的可重用布局需要它自己的根视图。但是,使用另一个作为可重用布局的根将导致在垂直的中出现垂直的。嵌套的除了降低UI性能之外,没有任何实际用途。 罗曼,你在哪?

  • 问题内容: 我正在构建一个jar,以便其他开发人员可以使用我在其Android应用程序中创建的视图。我想知道是否有可能在jar中使用布局资源,以便可以构建视图的布局,或者是否需要以编程方式构建视图。同样,我可以在jar文件中包含图像资源吗? 问题答案: 不,目前不行。由于Android将资源打包到apk中的方式,您不能将它们包含在jar中。但是,您仍然可以与其他开发人员共享jar,他们只需要手动拉

  • 我想包括一个布局与数据绑定。 我想使用将id从java传递到布局,但我似乎找不到正确的语法。 这是我的片段类,带有和: 我想充气。分割项目,并使其包含