Android 创建可重用的UI组件

发布于 2022-09-30 12:08:37 字数 1852 浏览 15 评论 0

我们大家都知道,Android平给我们提供了大量的UI构件,我们可以将这些小的构件搭建在一起,这样就呈现给用户复杂而且美观的画面。我们也知道应用程序有时也需要一些比较高级的UI构件,我们为了满足这样的需求,并且能展现出来,我们就可以把多个比较简单的构件组合在一起。这样就会给用户视觉上很美观的效果。

                 例如,我们可以创建一个可重用的组件包含一个进度条和一个取消按钮,一个Panel包含两个按钮(确定和取消动作),一个Panel包含图标、标题和描述等等。简单的,我们可以通过书写一个自定义的View来创建一个UI组件,但更简单的方式是仅使用XML来实现。

                元素的作用如同它的名字一样;它用于包含其它的XML布局。使用这个标签如下面的例子所示:

  1. <com.android.launcher.Workspace
  2. android:id="@+id/workspace"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. launcher:defaultScreen="1">
  6. <include android:id="@+id/cell1" layout="@layout/workspace_screen" />
  7. <include android:id="@+id/cell2" layout="@layout/workspace_screen" />
  8. <include android:id="@+id/cell3" layout="@layout/workspace_screen" />
  9. </com.android.launcher.Workspace>

复制代码在中,只需要layout特性。这个特性,不带android命名空间,它表示你想包含的布局的引用。在这个例子中,相同的布局被包含了三次。这个标签还允许你重写被包含布局的一些特性。上面的例子显示了你可以使用android:id来指定被包含布局中根View的id;它还可以覆盖已经定义的布局id。相似的,你可以重写所有的布局参数。这意味着任何android:layout_*的特性都可以在中使用。下面是例子:

  1. <include android:layout_width="fill_parent" layout="@layout/image_holder" />
  2. <include android:layout_width="256dip" layout="@layout/image_holder" />

复制代码这个标签,在依据设备设置定制UI时表现得尤为有用。举个例子,Activity的主要布局放置在layout/文件夹下,其它布局放置在layout-land/和layout-port/下。这样,在垂直和水平方向时你可以共享大多数的UI布局。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文