当设计程序来支持各种不一样的屏幕尺寸时,可以在不同的布局中重用fragment来根据可用的屏幕大小来优化用户体验. 例如,在手机上可能使用一个fragment来使用单窗口用户体验比较合适.但是,你可能想在平板上边靠边的设置两个fragment因为有更宽的屏幕向用户展示更多信息. 图1.两个fragment,同一个activity在不同的屏幕大小上的不同展现形式.在大屏幕上,两个fragment边靠边,但是在手机设备上,一次只显示一个fragment因此fragment在用户切换的时候替换另一个.…
你可以把fragment当作activity中的一个活动模块,它有自己的生命周期,自己接收输入消息,可以在activity运行的时候添加和删除(就像可以在其他activity中重用的"子activity").这里会讲述如何用Support Library来扩展Fragment类这样app可以在老版本的系统上运行,就算是Android1.6. 注意:如果你因为什么原因把最低API level调整为11或者更高,你就不需要使用Support Library了,可以直接使用Fragment类…
要在Android上实现动态的多窗口的用户交互界面,需要把UI组建和activity放到modules中, 这样才能划进划出activity.可是使用Fragment类来创建modules,它就像一个嵌套的activity它们可以定义自己的布局和管理自己的生命周期. 当一个fragment指定它自己的布局后,它可以在activity中和其他的fragment组合来为不同的屏幕大小修改布局(小屏幕可能一次显示一个fragment,但是大屏幕可以一次显示两个或更多). 这里将要展示如何用fragme…
Android Support Library提供了一个带有API库的JAR文件来让你可以在使用最新的Android API的同时也也已在早期版本的Android上运行.例如,Support Library提供了一个版本的Fragment API让你可以使用Android 1.6(API level 4)以及更高版本. 这里将要展示如何设置app来使用Support Library和使用fragments创建动态的app UI. 设置带有Support Library的工程 为了设置工程: 使用…
为了重用Fragment UI组件,应该把每个都设计为它自有的模块组件并且有自己的布局和行为.一旦定义了这些可重用的Fragment,你可以把它们和一个activity关联然后和程序的逻辑一起实现上层的UI. 经常会用到一个Fragment需要和另一个通讯,比如根据用户事件来交换内容.所有的fragment和fragment只见的通讯是通过相关的activity实现的.两个fragment不能直接通讯. 定义一个接口 为了运行fragment和它的activity通讯,你可以在fragment类…
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/7867340 在前面一篇文章中,我们分析了Android应用程序与SurfaceFlinger服务的连接过程.Android应用程序成功连接上SurfaceFlinger服务之后,还需要一块匿名共享内存来和SurfaceFlinger服务共享它的UI元数据,以便使得SurfaceFlinger服务可以正确地为它创建以及渲染Surface.在本文中…
Android UI线程和非UI线程 UI线程及Android的单线程模型原则 当应用启动,系统会创建一个主线程(main thread). 这个主线程负责向UI组件分发事件(包括绘制事件),也是在这个主线程里,你的应用和Android的UI组件(components from the Android UI toolkit (components from the android.widget and android.view packages))发生交互. 所以main thread也叫UI…
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/7884628 前面我们已经学习过Android应用程序与SurfaceFlinger服务的连接过程了.连接上SurfaceFlinger服务之后,Android应用程序就可以请求SurfaceFlinger服务创建Surface.而当有了Surface后,Android应用程序就可以用来渲染自己的UI了.在本文中,我们将详细分析Android应用…
经常运行eclipse时,烧到手机出现,“停止运行”,这时候得通过logcat查log了.一般这种情况属于FATAL EXCEPTION,所以检索FATAL 或者 EXCEPTION,然后往下看几行 例子: 11-26 16:18:17.949: E/AndroidRuntime(5363): FATAL EXCEPTION: Thread-19311-26 16:18:17.949: E/AndroidRuntime(5363): Process: com.scme.jiance, PID:…
1. 全局安装vue-cli yarn global add @vue/cli // 检查安装是否成功 vue -V // 3.2.2 2. 初始化 vue ui 执行命令 vue ui 2.1 该命令会自动打开你的浏览器,默认地址为: localhost:8000/project/select,浏览器展示的页面如下: 切换界面到创建,点击下面在此创建新项目按钮 1. 输入项目文件夹名称 2. 包管理器,如果你已经安装了yarn,vue ui的默认包管理器是yarn 2.2 2.3 上面的两项不…