`

android按需加载你的界面

阅读更多

按需加载你的界面

 

有时候你的布局中可能存在一些不常用的复杂界面元素。不管他们是某列表项的详细,进度条或者是为完成时提示的消息,你都可以通过按需加载来减少内存使用和效率。

 

定义一个ViewStub

ViewStub是一个轻量级的视图控件,他没有尺寸也不会绘制任何布局。无论是加载还是卸载他都是很廉价的。每个ViewStub都必须包含android:layout 属性,已告知布局如何填充他。
如下代码的作用是,当数据在载入时会显示ViewStub
<ViewStub
    android:id="@+id/stub_import"
    android:inflatedId="@+id/panel_import"
    android:layout="@layout/progress_overlay"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom" />
 
 加载ViewStub布局
当你需要通过ViewStub来加载布局时,你可以通过setVisibility(View.VISIBLE)或者调用inflate()使其生效
((ViewStub) findViewById(R.id.stub_import)).setVisibility(View.VISIBLE);
// or
View importPanel = ((ViewStub) findViewById(R.id.stub_import)).inflate();
 
Note:inflate()方法会一次性返回一个View,所以你不需要在使用findViewById()去在获取一次布局。 一旦布局可见,ViewStub在视图层级中不会长久可见。它将会被android:inflatedId的值对应的布局替换

 

Note:唯一的全店就是ViewStub不支持<merge/>标签
Note:页面元素不是反复隐藏和显示的就使用viewstub
分享到:
评论

相关推荐

    安卓 android 应用启动 加载 界面 实现

    在安卓(Android)平台上,应用启动加载界面是用户体验的重要组成部分,它通常出现在应用程序启动时,显示品牌标识或进度条,给用户一个应用正在准备运行的视觉反馈。实现这样的加载界面可以提升应用的专业感,同时...

    Android仿美团加载界面

    在Android开发中,为了提供更好的用户体验,我们常常需要设计各种加载界面来指示应用正在处理数据或网络请求。"Android仿美团加载界面"就是一个这样的实践,它涉及到动画、UI设计以及状态管理等多个技术点。下面将...

    Android内容预加载View占位

    在Android开发中,"内容预加载View占位"是一种优化用户体验的重要技术,它涉及到如何高效地展示数据并减少用户等待时间。本知识点主要探讨的是如何在数据加载完成之前,通过占位符显示预计内容区域,以提升应用的...

    自定义加载中界面

    3. **防止交互**:为了在加载界面显示时阻止用户与后台视图交互,你可以设置根布局的`android:clickable="true"`和`android:focusableInTouchMode="true"`属性,这将捕获所有的触摸事件,使得其他视图无法响应。...

    android三种自定义Loading加载框

    在Android开发中,为了提升用户体验,开发者经常需要创建各种自定义的Loading加载框来提示用户应用正在处理数据或执行操作。本教程将详细介绍三种不同的自定义加载框实现方法,帮助你的应用程序在等待过程中呈现更...

    android 各种加载动画效果

    在Android开发中,加载动画效果是提升用户体验的重要一环,特别是在数据加载、网络请求或界面切换时,良好的加载动画能够使用户在等待过程中感受到趣味性和专业性。本资源包"android 各种加载动画效果"提供了多种...

    Android仿支付宝支付界面界面界面

    在Android应用开发中,仿支付宝支付界面的设计是一个重要的任务,因为支付界面的用户体验直接影响到用户的满意度和转化率。本文将详细讲解如何构建一个类似于支付宝的支付界面,包括界面设计原则、组件选择、交互...

    android 使用GIS加载shp文件例子

    总的来说,理解和运用ArcGIS Runtime SDK for Android加载SHP文件不仅有助于提升地图应用的功能性,还能帮助开发者深入理解地理空间数据的处理和展示。在实际开发过程中,根据项目需求,还可以结合其他数据格式(如...

    android Viewpager 动态加载

    这些库支持按需加载和缓存策略,能有效减少内存占用。 - 在`instantiateItem()`方法中加载图片,确保只有当前和相邻页面的图片会被加载到内存中。 5. **性能优化** - 使用ViewHolder模式可以减少View的创建和复用...

    Android App 启动时显示正在加载图片

    4. **使用主题启动**: 利用Android的主题特性,设置一个带有启动图片的主题,当Activity加载时,这个主题会先显示,然后过渡到实际的Activity界面。 5. **延迟加载**: 对于性能要求较高的应用,可以考虑在后台线程...

    Android-使用Glide在Android中加载SVG

    在Android开发中,图片加载和展示是至关重要的一个环节,特别是在设计用户界面时。SVG(Scalable Vector Graphics)是一种矢量图格式,它能够提供高质量、无损缩放的图像,非常适合用在多种分辨率的Android设备上。...

    Android Studio动态加载Fragment和获取实例的方法

    Android Studio 动态加载 Fragment 和获取实例的方法 Android Studio 是一个功能强大的集成开发环境(IDE),它提供了许多实用的功能和工具来帮助开发者快速构建高质量的 Android 应用程序。在 Android 开发中,...

    Android公司管理后台登录界面设计

    在Android平台上,构建一个公司管理后台的登录界面是开发中的重要环节。这个界面不仅需要具有良好的用户体验,还需要确保数据的安全性和交互的效率。下面将详细阐述Android公司管理后台登录界面设计的一些关键知识点...

    Android异步加载图片例子

    在这样的项目中,你可能会看到使用了`AsyncTask`、`Handler`、`Loader`(如`AsyncTaskLoader`)或者其他第三方库来实现异步加载。每个组件都有其特点和适用场景,例如`AsyncTask`适合一次性任务,`Handler`适合处理...

    Android 开发使用Activity实现加载等待界面功能示例

    "Android 开发使用 Activity 实现加载等待界面功能示例" Android 开发中,实现加载等待界面功能是非常常见的需求。通过使用 Activity,可以实现加载等待界面功能,提高用户体验。本文将详细介绍使用 Activity 实现...

    android欢迎界面简单实现

    通过以上步骤,你就能创建一个简单而实用的Android欢迎界面了。当然,实际项目中可能会有更多的复杂性和细节需要处理,但这个基础框架提供了一个良好的起点。记得在实践中不断学习和改进,以提升用户体验。

    android炫酷5.0加载圈兼容3.0以下

    4. **兼容性处理**:为了让这个自定义加载圈在Android 3.0及以下版本运行,你需要确保所有使用的API都是向下兼容的。可能需要使用`Build.VERSION.SDK_INT`检查当前的API级别,然后使用条件语句选择合适的实现方式。 ...

    android studio仿微信主界面

    在Android开发领域,构建类似微信主界面的应用是一个常见的需求,这涉及到用户界面设计、导航以及交互体验等多个方面。本文将详细讲解如何使用Android Studio来实现这一目标,主要聚焦于ViewPager和Fragment的结合...

    Android loading...加载动画

    在Android开发中,用户体验是至关重要的,而加载动画(loading animation)则是提升用户体验的一个关键元素。当应用程序需要处理一些后台任务,如数据加载、网络请求等,加载动画可以提供反馈,让用户知道应用正在...

    Android-用于加载GIF文件的Android库

    在Android应用开发中,动态图像是一个常见的需求,特别是GIF格式,它广泛用于表情、动画和各种交互式用户界面元素。"Android-用于加载GIF文件的Android库"是针对这种需求的一个解决方案,旨在帮助开发者高效且流畅地...

Global site tag (gtag.js) - Google Analytics