ITPub博客

首页 > IT职业 > IT图书 > Android Studio 中 Preview 常见问题和技巧

Android Studio 中 Preview 常见问题和技巧

IT图书 作者:flynike 时间:2021-09-09 09:26:28 0 删除 编辑

原文链接

Android Studio提供了一个强大的“Preview”工具,可以帮助您预览您的布局文件将如何在用户的设备上呈现。XML布局可能是Android开发中最常用的资源。 您的项目中每个活动至少有一个布局文件。 Android Studio的预览工具可帮助您实现这些伟大的设计,并快速迭代它们,甚至不需要运行您的应用程序。它还允许您查看布局的不同配置,例如在纵向或横向时的外观,或者TextView在多个语言环境(如英语,德语或希腊语)上的外观。

即使预览工具是强大的,可以使你的发展日子轻而易举,与此同时,它也有一些缺点会让程序猿抓狂。这篇文章谈论Preview的常见问题和技巧。

这里是最常见的关于Preview的问题列表和解决方案(图片请右键用新标签放大查看):

Glide的图像加载器将是不可能的。 出于同样的原因,任何依赖注入框架将不工作,因为它不会在预览上下文中初始化,导致视图在被扩充时抛出异常。

图片描述

在这种情况下可以使用View.isInEditMode()。 使用它来检查您是否是正在预览,并跳过在Preview时不可用的依赖:

public ImageWithCaptionView(Context context, AttributeSet attrs) {        super(context, attrs);        if (!isInEditMode()) {
            ArticlesApplication.getInjector().inject(this);
        }
}

问题4:merge布局重叠

merge标签可以帮助您减少布局代码的重复。

然而,merge的问题是,它内部的所有组件将被折叠在一起,同时显示在预览里,造成视觉混乱。如下图所示,TextView覆盖在ImageView的上面:

图片描述

您可以使用工具:tools:showIn=”layout”来显示使用它的一些其他现有布局内的布局的内容。 请注意,如果您在多个地方使用不同的父布局,则只能选择一个布局进行预览。

从Android Studio 2.2开始,您现在可以使用工具:parentTag =“LinearLayout”例如将渲染布局为LinearLayout。下图是使用后的效果,不再有重叠:

图片描述

问题5:在预览时显示隐藏的视图

你的活动可能包含一些在onCreat时需要隐藏的View,但在一些事件后显示它们。通过设置这些视图在布局中的visibility:”GONE”,可以确保它们永远不会在预览时可见。

问题是,这些视图将从预览中消失,如果一些其他开发人员打开布局,并在预览中查找它们,他们将无法找到它。这是一个问题,因为它需要更多的精力和时间来了解屏幕上发生了什么。

您可以使用tools:visibility =“visible”属性,以仅在预览面板中显示它。

问题6:ListView的Item和Header/Footer预览

使用tools:listitem / tools:listheader / tools:listfooter可以实现在预览中增加item、header、footer的效果。例如:

此特性在AS2.2有bug(无效),并在2.3中修复。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2618/viewspace-2803019/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-26

  • 博文量
    205
  • 访问量
    9818