的原因是由于设计器在设计时使用的是设计时尺寸和分辨率来显示图片,而运行时使用的是实际的尺寸和分辨率来显示图片。
在Windows窗体设计器中,图片标签可能会被缩放或拉伸以适应设计器的显示区域。这可能导致图片在设计器中显示正常,但在运行时显示不同。
为了解决这个问题,可以采取以下几种方法:
总结起来,为了确保在Windows窗体设计器中显示的图片标签与运行时一致,需要使用适当的布局控件、合适的图片尺寸和分辨率。
版权声明:本文为博主原创文章(部分引用他人博文,已加上引用说明),未经博主允许不得转载。https://www.jianshu.com/p/7aa34434ad4d
起因 使用SmartPhone上的WinForm做了一个WM的小程序,结果放到手机上实际一运行。发现动态生成的控件在里面显示得都非常小,难以看清。 原因 我的问题是需要在InitializeComponent方法结束后,动态生成一些控件,如下: /// /// 这个方法会根据传入的实体模型,生成一些选择框,设置它们的大小、位置;并会改变其它控件的大小、位置。 /// /// <param name="categories"></param> priv
给你带来一种全新、全面而逻辑清晰的Android屏幕适配思路,只要你认真阅读,保证你能解决Android的屏幕适配问题!
可折叠设备展开时,当前应用页面必须无缝延续到另一个屏幕,并可自动调整大小匹配新的布局,反之亦然。也就是说,应用程序需要准备好在多个屏幕(不同分辨率、密度等)之间切换。
每个Android程序员都会遇见一个棘手的问题,那就是手机适配。因为现在出现了许多分辨率的手机,所以我们必须得考虑到各种分辨率的手机适配,这对于程序员来说是一个必须要解决的麻烦。
这是小白学习软件开发系列课程,旨在帮助对电脑编程感兴趣的朋友学习并熟悉C#技术。其中基础部分已经讲解完毕,可以查看:电脑编程入门(10)-C#面向对象编程浅聊,一起自学软件开发
1、屏幕相关概念 1.1分辨率 是指屏幕上有横竖各有多少个像素 1.2屏幕尺寸 指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸 android将屏幕大小分为四个级别(small,normal,large,and extra large)。 1.3屏幕密度 每英寸像素数 手机可以有相同的分辨率,但屏幕尺寸可以不相同, Diagonal pixel表示对角线的像素值(=),DPI=933/3.7=252 android将实际的屏幕密度分为四个通用尺寸(low,medium,high,and extra high) 一般情况下的普通屏幕:ldpi是120dpi,mdpi是160dpi,hdpi是240dpi,xhdpi是320dpi 对于屏幕来说,dpi越大,屏幕的精细度越高,屏幕看起来就越清楚 1.4密度无关的像素(Density-independent pixel——dip) dip是一种虚拟的像素单位 dip和具体像素值的对应公式是dip/pixel=dpi值/160,也就是px = dp * (dpi / 160) 当你定义应用的布局的UI时应该使用dp单位,确保UI在不同的屏幕上正确显示。 手机屏幕分类和像素密度的对应关系如表1所示 手机尺寸分布情况(http://developer.android.com/resources/dashboard/screens.html)如图所示, 目前主要是以分辨率为800*480和854*480的手机用户居多 从以上的屏幕尺寸分布情况上看,其实手机只要考虑3-4.5寸之间密度为1和1.5的手机 2、android多屏幕支持机制 Android的支持多屏幕机制即用为当前设备屏幕提供一种合适的方式来共同管理并解析应用资源。 Android平台中支持一系列你所提供的指定大小(size-specific),指定密度(density-specific)的合适资源。 指定大小(size-specific)的合适资源是指small, normal, large, and xlarge。 指定密度(density-specific)的合适资源,是指ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high). Android有个自动匹配机制去选择对应的布局和图片资源 1)界面布局方面 根据物理尺寸的大小准备5套布局: layout(放一些通用布局xml文件,比如界面顶部和底部的布局,不会随着屏幕大小变化,类似windos窗口的title bar), layout-small(屏幕尺寸小于3英寸左右的布局), layout-normal(屏幕尺寸小于4.5英寸左右), layout-large(4英寸-7英寸之间), layout-xlarge(7-10英寸之间) 2)图片资源方面 需要根据dpi值准备5套图片资源: drawable:主要放置xml配置文件或者对分辨率要求较低的图片 drawalbe-ldpi:低分辨率的图片,如QVGA (240x320) drawable-mdpi:中等分辨率的图片,如HVGA (320x480) drawable-hdpi:高分辨率的图片,如WVGA (480x800),FWVGA (480x854) drawable-xhdpi:至少960dp x 720dp Android有个自动匹配机制去选择对应的布局和图片资源。 系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。 在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。 3、AndroidManifest.xml 配置 android从1.6和更高,Google为了方便开发者对于各种分辨率机型的移植而增加了自动适配的功能 <supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:anyDensity="true"/> 3.1是否支持多种不同密度的屏幕 android:anyDensity=["true" | "false"] 如果android:anyDensity
一、背景 随着近些年屏幕设备的不断发展,各种显示设备的分辨率也越来越高,在尺寸保持基本不变的情况下,分辨率越高,设备的DPI也越高,清晰度也就越高。高DPI的设备给我们提供了更精细的画质,然而Windows上的大多数应用并没有适配高DPI的显示器,导致应用在这些设备显示模糊,体验非常差。 为了让应用在高DPI的设备上依然显示清晰,我们就需要对高DPI的设备进行适配。 二、基础概念 2.1 DPI是什么 DPI是Dots Per Inch的缩写,表示显示设备在每英寸上有多少个像素点。在开发过程中,
Android涉及各种各样的支持不同屏幕尺寸和密度的设备。对于应用程序,Android系统通过设备和句柄提供了统一的开发环境,大部分工作是校正每一个应用程序的用户界面到它显示的屏上。与此同时,系统提供APIs允许你控制应用界面为特定的屏幕尺寸和密度,为不同屏幕的配置提供最优化的用户界面设计。例如,你可能会要一个平板电脑的用户界面,这不同于手机的用户界面。 虽然系统能缩放,调整其尺寸,以使应用软件工作在不同屏上,但是应该尽量优化应用软件适应不同的屏幕尺寸和密度。为此,对所有设备的用户体验应最大化且应让用户们相
目录 引言 设备族群 UI 和通用输入模式 通用控件和布局面板 工具 自适应扩展 通用输入处理 引言 在本篇文章中,可以掌握以下知识: 设备族群,如何决定目标设备 新的UI控件和新面板帮助你适应不同的设备特征 从Windows 8系统开始,微软就 引入了WindowsRT(Windows Runtime),它是Windows App 模型的一个中间阶段。希望能够成为通用应用体系架构。 Windows Phone 8.1发布时,也兼容WRT 。这样有助开发者使用同一代码库创建通用的Windows8 app。
来源:学生做的网站,方便大家学习交流设计与技术 http://www.uidask.com/index.php 网站的平均加载已经到了近 2MB 并在不断地增加中,其中图片占据了绝大多数流量(63%)。可以肯定的是网页已经有了严重的大小问题,而图片就是罪魁祸首。虽然已经有很多种 措施 可以减少网页加载量,但或许更重要的步骤之一是确保响应式图片的加载方案。通过利用响应式图片解决方案,我们可以确保最佳的图片被加载,带宽不会被过大的图片所浪费。因此 W3C 定义了 picture 标签:基于检测客户端设备类型
在移动端或者前端开发中,UI图通常是带标注的,指定某个控件的长宽等属性,一般UI给的是68px,72px这样的样式,但是我们在开发过程中通常又并不是完全按照上面的标注去设置值,有时候需要将这个标注除以2或者除以3在进行赋值给frame,这其中的原因是因为标注一般都是按px格式给的,但是iOS底层绘制的时候是按照pt为单位进行绘制,这两个的区别在于:
文章索引 5.1 图标与图像尺寸(Icon and Image Sizes) 5.2 应用图标(App Icon) 5.2.1 文档图标(Document Icons) 5.2.2 用于Spotlight和设置的图标(Spotlight and Settings Icons) 5.3 启动画面(Launch Files) 5.4 模板图标(Template Icons) 5.5 网页图标(Web Clip Icons) 5.6 创建可缩放图片(Creating Resizable Images) 译者注:本
马哥linux运维 | 最专业的linux培训机构 ---- 我自己的Blog:http://blog.cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到了互联网内容总量的62%,也就是说超过一半的流量和时间都用来下载图片。从性能优化的角度看,图片也绝对是优化的热点和重点之一,Google PageSpeed或者Yahoo的14条性能优化规则无不把图片优化作为重要的优化手段,本文覆盖了Web图片优化的方方面面,从基本的图片格式选择、到尚
前端的一大工作内容就是去兼容页面在不同内核的浏览器,不同的设备,不同的分辨率下的行为,使页面的能正常工作在各种各样的宿主环境当中。
1. 引言 Windows Phone 7平台只支持WVGA分辨率(480*800)的设备,这对于应用程序的UI设计来说是有利的,因为设计人员不用考虑多分辨率对UI控件布局的影响。但是,Windows Phone 8平台打破了这个局面,支持三种分辨率,分别为WVGA、WXGA(768*1280)和720p(720*1280)。随之而来的问题就是,开发者该如何应对多分辨率对应用程序的影响?这仿佛又把我们带回了Windows Mobile那个多分辨率的时代。那个时候,我们的应对方法就是使用控件的Dock
发布于 2017-11-14 03:26 更新于 2017-11-14 04:49
适配各种屏幕规格,首先要取到系统对于屏幕的配置信息,这些配置可从工具类Configuration获得。Configuration对象在Activity中通过调用getResources().getConfiguration()得到,该对象的常用属性说明如下: touchscreen : 屏幕触摸方式。有下列几种取值定义:"未定义", "不支持触摸", "专用笔触摸", "支持手指触摸" keyboard : 物理键盘样式。有下列几种取值定义:"未定义", "无物理键盘", "全键盘", "十二格键盘" keyboardHidden : 键盘状态。有下列几种取值定义:"未定义", "未隐藏或软键盘", "已隐藏", "软键盘" hardKeyboardHidden : 物理键盘状态。有下列几种取值定义:"未定义", "未隐藏", "已隐藏" navigation : 方向控制样式。有下列几种取值定义:"未定义", "无方向控制", "方向键", "轨迹球", "滚轮" navigationHidden : 方向控制状态。有下列几种取值定义:"未定义", "未隐藏", "已隐藏" orientation : 屏幕方向。有下列几种取值定义:"未定义", "竖屏", "横屏" 以上属性除了屏幕方向是有用的,其他的基本没什么用。 如果属性发生变化,可重写onConfigurationChanged函数监测最新的属性值。但是由屏幕旋转导致的屏幕方向变化,按照生命周期走的是原方向onDestroy然后新方向onCreate,并不触发onConfigurationChanged方法,所以该方法基本也没机会用到。
领取专属 10元无门槛券
手把手带您无忧上云