首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

创建支持多种屏幕尺寸的Android应用

Android制造这些差异使应用程序抽象化,所以,你可以提供设计的UI给广义的尺寸和密度,必要时让系统处理任何最后的调整。图1 阐明了不同的尺寸和密度被如何大致归类到不同的尺寸和密度组。...根据实际情况,系统通过缩放布局去适应屏幕的尺寸/密度和为屏幕密度缩放位图绘图,处理大部分工作去适当地渲染应用程序到每一个屏幕配置。...然而,为了更好地处理不同屏幕配置,应该: * * 在清单文件中明确申明应用程序支持哪种屏幕大小* 通过申明应用程序支持哪种屏幕尺寸,可以确保只有支持的屏幕尺寸的设备才能下载应用程序。...* 为不同的屏幕尺寸提供不同的布局* 默认情况下,Android会重新调整应用布局去适合当前设备屏幕。在大多数情况下,这样做很好。在其它情况下,UI可能看上去不太好且可能不同屏幕尺寸需要调整。...系统透明地处理这种调整并把调整后的像素尺寸,而不是物理像素尺寸告诉应用程序。

2.7K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案

    Android会在销毁你的Activity之前调用onSaveInstanceState()方法,于是,你可以在此方法中存储关于应用状态的数据。...效果图: 5、配置configChanges,自己对屏幕旋转的变化进行处理 在menifest中进行属性设置: <activity android:name=".ConfigChangesTestActivity...但是会回调此方法,用户自行进行对屏幕旋转后进行处理 */ @Override public void onConfigurationChanged(Configuration newConfig...效果图: 6、旋转屏幕的最佳实践 下面要开始今天的难点了,就是处理文章开始时所说的,当异步任务在执行时,进行旋转,如果解决上面的问题。...,但是丝毫不影响加载数据任务的运行和加载框的显示~~~~ 效果图: 可以看到我在加载的时候就三心病狂的旋转屏幕~~但是丝毫不影响显示效果与任务的加载~~ 最后,说明一下,其实不仅是屏幕旋转需要保存数据

    2.1K20

    libgdx 环境搭建

    开发libgdx时,把画蓝色横线的开发包拷贝到自己的Android项目libs目录下,效果图如下: 2) 添加源码jar包 开发过程中,可能需要链接查看libgdx源码,因此需要添加 gdx-backend-android-sources.jar...逻辑流程的功能描述: 方法名 功能描述 create() 应用创建时,被调用且只调用一次 resize(int width, int height) 游戏屏幕每次重置大小且不在暂停状态时调用此方法,在create...()后仅调用一次,参数是屏幕被重置后的新宽度和高度(像素) render() 每次渲染发生时,游戏循环调用此方法。...游戏逻辑更新常在此方法中,即循环刷新绘制游戏的逻辑画面 pause() 在android中当Home键按下或重新进入程序时调用,这是一个保存游戏状态的好时刻,resume()不一定会被调用 resume...() 这个方法仅在android中调用,当应用从pause状态重新获取焦点时resume dispose() 当应用销毁destroyed时,调用此方法,在pause()之后 libgdx 应用开发的逻辑流程图

    1.1K20

    自学HarmonyOS应用开发(64)- 处理屏幕旋转

    旋转屏幕是手机用户的一个日常操作,本文介绍如何在屏幕旋转时自动调整屏幕布局的方法。...效果如下: 间接处理屏幕旋转 默认情况下用户旋转屏幕时,Harmony应用架构会调用AbilitySlice类的onStart方法,所以原则上讲,只要开发者在onStart中获取屏幕方向并选择适当的画面布局就间接处理了屏幕旋转...orientation,它不会随着屏幕的旋转而改变。...直接处理屏幕旋转 另外一个和getDisplayOrientiaon同样具有迷惑性的是Ability和AbilitySlice都有一个屏幕旋转事件处理方法,看起来开发者只要重写这个方法就能接受相应的通知...对设计模式感兴趣而且希望随学随用的读者通过本书可以快速跨越从理解到运用的门槛;希望学习Python GUI 编程的读者可以将本书中的示例作为设计和开发的参考;使用Python 语言进行图像分析、数据处理工作的读者可以直接以本书中的示例为基础

    1.3K40

    速读原著-Android应用开发入门教程(Android的屏幕元素体系)

    8.1 Android的屏幕元素体系 在屏幕中控件的组织上,可以将各个视图(控件)组成一个视图组(ViewGroup),视图组是一个包含了其他视图的视图。...android.view.ViewGroup 扩展了 android.view.View,它本身也具有 View 的特性,区别仅在于它可以包含其他的控件。...Android GUI 程序的屏幕体系结构的组织遵循以下原则: 一个屏幕可以包含一个视图; 视图组本身也是一个视图; 视图组可以包含若干个视图。...在这里一个主要的限制是:在没有视图组的情况下,两个以上的视图(也包括视图组)是不能够并列的。 例如,在布局文件中,类似下面的写法是不可以的。 Android 中,有一些预置的 ViewGroup 可以直接像 View 一样使用(如 WebView),还有一些ViewGroup 本身没有功能,只是提供屏幕上的各种布局(如 AbsoluteLayout

    47120

    libgdx 概述

    你可以使用Android上面同样的代码在桌面PC上面编写,测试,调试你的应用(也就是说,你可以不需要打开Android模拟器,就可以调试用Libgdx引擎写的游戏应用),剥离了常见的Windows之间/...Linux应用程序和一个Android应用程序的区别。...最大的不同点在于桌面PC和Android设备在于Android设备通常比桌面PC要慢得多。这意味着你的应用在PC上面运行的极快,但在Android运行的就像蜗牛在爬。...必须清楚很多能做的和不能做的规则,开发者应该遵守这些规则,为了保证即使在低端Android,应用都拥有良好的运行效果。...2、 图片资源限制 Libgdx以native方式自带图像解码器,通过其提供的Pixmap可以对指定图像进行像素级渲染操作,从而不依赖Android的Bitmap加载处理图像,不过目前只支持png、jpg

    2.3K20

    【Android应用开发】分享一个录制 Android 屏幕 gif 格式的小技巧

    因为写博客总是需要录制 Android 软件的演示效果, 研究了将近一小时找到了合适的工具; 录制流程 :  -- 1....录制 Android 手机屏幕内容 : 使用 拍大师 软件录制 Android 屏幕内容; -- 2. 导出视频 : 将 拍大师 录制的 MP4 格式的视频导出到电脑上; -- 3....录制 Android 屏幕 工具准备 :  -- 拍大师 PC 版 : http://dashi.aipai.com/, 本页面需要下载下 PC 版的拍大师, 用于给手机临时授权拍摄权限, 非 root...;  -- Android 客户端下载地址 : http://app.aipai.com/paidashi, 在本页面下载 拍大师 Android apk 文件; 使用流程 :  -- Android...手机安装 拍大师 : 点击屏幕录像, 之后点击侧方悬浮窗的 录制按钮, 会弹出需要授权信息; -- 手机授权 : 下载 拍大师 PC 版 : 下载后安装即可, 下面是授权过程; -- 录制屏幕

    87110

    Android应用开发:屏幕旋转时的非中断保存之setRetaineInstance

    Android应用开发:Fragment的非中断保存setRetaineInstance 引言 首先,要明确什么叫“非中断保存”。...而当Activity配置发生改变(如屏幕旋转)时候,旧的Activity会被销毁,然后重新生成一个新屏幕旋转状态下的Activity,自然而然的Fragment也会随之销毁后重新生成,而新生成的Fragment...生命周期 Activity的生命周期在配置发生改变时: onPuase->onStop->onDestroy->onStart->onResume 比如在Activity中发生屏幕旋转,其生命周期就是如此.../platform_frameworks_base/blob/master/core/java/android/app/FragmentManager.java> 当Fragment的mRetaining...同样,Android文档中对这两个接口也有了一定的描述。 总结 这里结合Fragment.java中setRetainInstance的注释进行一下Fragment非中断保存的总结。

    91620

    FPGA | LVDS屏幕接口的应用

    大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。 今天给大侠带来基于FPGA的LVDS屏幕接口应用,话不多说,上货。 ?...2 LVDS的应用 这里来看一个LVDS应用的例子: ?...液晶面板的LVDS接收器再对信号做转换处理并显示。 另外需要给液晶面板提供液晶的背光,背光电路一般放在驱动板,主控通过PWM信号对面板背光进行调节。...经过咨询相关屏幕厂家,得到以下回复。 ? 也就是说,选接口是由屏幕分辨率决定的,你选的屏幕分辨率高了,就得用高位数的,毕竟高分辨率要求基色信号的位数越多,才能在屏幕上显示更多色彩。...3 关于LVDS Layout 下面介绍一下关于LVDS的PCB 板布线时需要注意的点: 1) 由于差分线较多并为了方便做阻抗匹配,PCB 至少采用四层板设计; 2) 电源滤波电容尽可能的靠近芯片电源

    2.3K20

    Android设备屏幕方向的一二事

    处理Activity的配置变更 有些设备配置可能会在运行时发生变化(例如屏幕方向、键盘可用性及语言)。 发生这种变化时,Android 会重启正在运行的 Activity。...在这种情况下,有两种选择:在配置变更期间保留对象,或自行处理配置变更。 若在配置变更期间保留对象,可通过保留 Fragment 来减轻重新初始化 Activity 的负担。...若声明由Activity自行处理配置变更,需在`AndroidManifest.xml`中activity的`configChanges`属性列出 Activity 将自行处理的配置更改。...在运行时发生配置更改时,默认情况下会关闭 Activity 然后将其重新启动,但使用该属性声明配置将阻止 Activity 重新启动。...(目标API>13时必需) 参考:https://developer.android.com/guide/topics/resources/runtime-changes.htmlAndroid设备屏幕方向的一二事

    1.9K280

    android autosize原理,Android屏幕适配头条:autosize的原理

    大家好,又见面了,我是你们的朋友全栈君。...主要是固定一个UI尺寸,比如宽度360,然后为了各个density显示的宽度都是360dp,则通过 :px=dp * density, density =screenWidthPx / 360; 记录下文章...density,我们要适配的话需要确保 dp 不变去修改 density,而安卓默认 density = dpi / 160,其意思就是 1dp 有多少 px,也就是像素密度,我们开发是按照一份设计稿来做的,...() 是不同的引用,所以在 API 26 及以上适配是没有影响的,但在 API 26 以下 Activity#getResources()#getDisplayMetrics() 和 Application...#getResources()#getDisplayMetrics() 是相同的引用,导致适配有问题,这里要感谢 @MirkoWu 提出的问题,后面会有解决之法。

    63620

    Android图像处理系列:OpenGL深度测试的应用

    小结一下,深度测试就是说OpenGL自动为我们判断所要渲染的东西的前后关系,并按某种规则来实现最后看到的是哪部分,这些说的“某种规则”是可以设置的,通常会设置为让OpenGL渲染出的来最终效果为看到的是深度最浅的部分...如何做这样的设置,以及还有什么其它的可以设置?下面就来说说。 如何使用深度测试? 下面以Android上的OpenGL ES 2.0为例,来看看相关的方法调用,其它平台的也类似。...,比如画一个三角形,并不是画一部分就先显示到屏幕一部分,而是全都画好之后,一次性把画布更新到屏幕上,那么就需要一个Buffer来暂存这些中间的结果。...这里有几点tips: 我们一般情况下是判断正在绘制的像素比Depth Buffer存储的该像素的深度值浅,然后做相应的操作,这里的规则可以控制,控制方法为设置深度比较函数: GLES20.glDepthFunc...作者简介:kenney, 天天P图 Android 工程师 ---- 文章后记: 天天P图是由腾讯公司开发的业内领先的图像处理,相机美拍的APP。

    1.7K21

    速读原著-Android应用开发入门教程(屏幕间的跳转和事件的传递)

    6.4 屏幕间的跳转和事件的传递 在一般情况下,Android 的每一个屏幕基本上就是一个活动(Activity),屏幕之间的切换实际上就是在活动间互相调用的过程,Android 使用 Intent 完成这个动作...Android 屏幕跳转的关系和方式如下图所示: ? 事实上,在 Android 中,屏幕使用一个活动来实现,屏幕之间是相互独立的,屏幕之间的跳转关系通过 Intent来实现。...6.4.1.跳转的方法 本示例是一个简单的屏幕之间的跳转,从一个屏幕跳转到另一个屏幕,在启动第二个屏幕后,前一个屏幕消失。...点击“Go”按钮从 Forward 跳转到 ForwardTarget,这个内容在 Java 源文件 Forward.java 的以下片段中处理: public void onClick(View v)...由于被跳转的目标程序,是被显示 Intent 调用起来的。因此,返回后继续由 ReceiveResult.java 对返回值进行处理。

    85710

    Android屏幕适配AndroidAutoSize的使用「建议收藏」

    Android屏幕适配AndroidAutoSize的使用 AndroidAutoSize的使用 加入依赖 配置AndroidManifest.xml主单位或者副单位 主单位的配置 副单位的配置 初始化...主单位的使用 副单位的使用 AndroidAutoSize的使用 记录一下Android屏幕适配框架的使用 加入依赖 implementation ‘me.jessyan:autosize:1.2.1...//使用以下代码, 可支持 Android 的分屏或缩放模式, 但前提是在分屏或缩放模式下当用户改变您 App 的窗口大小时 //系统会重绘当前的页面,...经测试在某些机型, 某些情况下系统不会主动重绘当前页面, 所以这时您需要自行重绘当前页面 //ScreenUtils.getScreenSize(activity) 的参数一定要不要传...false, 如果设置为 false, 在以屏幕高度为基准进行适配时 //AutoSize 会将屏幕总高度减去状态栏高度来做适配 //设置为 true 则使用设备的实际屏幕高度, 不会减去状态栏高度

    3.4K20
    领券