Android 创建可重用的UI组件
我们大家都知道,Android平给我们提供了大量的UI构件,我们可以将这些小的构件搭建在一起,这样就呈现给用户复杂而且美观的画面。我们也知道应用程序有时也需要一些比较高级的UI构件,我们为了满足这样的需求,并且能展现出来,我们就可以把多个比较简单的构件组合在一起。这样就会给用户视觉上很美观的效果。
例如,我们可以创建一个可重用的组件包含一个进度条和一个取消按钮,一个Panel包含两个按钮(确定和取消动作),一个Panel包含图标、标题和描述等等。简单的,我们可以通过书写一个自定义的View来创建一个UI组件,但更简单的方式是仅使用XML来实现。
元素的作用如同它的名字一样;它用于包含其它的XML布局。使用这个标签如下面的例子所示:
- <com.android.launcher.Workspace
- android:id="@+id/workspace"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- launcher:defaultScreen="1">
- <include android:id="@+id/cell1" layout="@layout/workspace_screen" />
- <include android:id="@+id/cell2" layout="@layout/workspace_screen" />
- <include android:id="@+id/cell3" layout="@layout/workspace_screen" />
- </com.android.launcher.Workspace>
复制代码在中,只需要layout特性。这个特性,不带android命名空间,它表示你想包含的布局的引用。在这个例子中,相同的布局被包含了三次。这个标签还允许你重写被包含布局的一些特性。上面的例子显示了你可以使用android:id来指定被包含布局中根View的id;它还可以覆盖已经定义的布局id。相似的,你可以重写所有的布局参数。这意味着任何android:layout_*的特性都可以在中使用。下面是例子:
- <include android:layout_width="fill_parent" layout="@layout/image_holder" />
- <include android:layout_width="256dip" layout="@layout/image_holder" />
复制代码这个标签,在依据设备设置定制UI时表现得尤为有用。举个例子,Activity的主要布局放置在layout/文件夹下,其它布局放置在layout-land/和layout-port/下。这样,在垂直和水平方向时你可以共享大多数的UI布局。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论