ANDROID 如何适配屏幕
来源:互联网 发布:js获取list的size 编辑:程序博客网 时间:2024/05/16 06:02
如何将一个应用程序适配在不同的手机上,虽然这不算是一个技术问题,但是对于刚刚做屏幕的开发人员来说,还真不是一件多么简单的事情。
首先:你需要在AndroidManifest.xml文件的<manifest>元素如下添加子元素
<supports-screens android:largeScreens=“true”
2.细心的人会发现自android2.0开始之后drawable文件被三个文件夹drawable-hdpi,drawable-mdpi,drawable-ldpi三个文件夹所取代,有些编程人员为了让应用程序默认地加载某些图片,他们会特意地去在android2.0之后的应用程序中重新创建drawable文件夹,其实这样做完全没有必要,通过第一段的分析我们得知,android:anyDensity=“false”,则应用会将大小密度转变成中密度,从而去加载mdpi中的资源。这里同样,当android:anyDensity=“false”,则应用会去加载mdpi中的资源。
总结一下:
第一:android:anyDensity=“true”,系统会依据屏幕密度,自动去找对应的文件夹
第二:android:anyDensity=“false”,
(1)
(2)
(3)
3. 注意上图各种文件夹的不同表示。
drawable-hdpi 该图片即适用于横屏,也适用于竖屏
drawable-land-hdpi,当屏幕为横屏,且为高密度时,加载此文件夹中的资源
drawable-port-hdpi,当屏幕为竖屏,且为高密度时,加载此文件夹中的资源
3. 有时候会根据需要在代码中动态地设置某个值,比如地图,地图的pin和地图的地址提示框的相对偏移量在不同密度的手机上是不同的。这时候可以通过以下方法求出屏幕密度:
DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int densityDpi = metric.densityDpi;
然后可以在代码中为这几种密度分别设置便宜量
但是这种方法最好不要使用,最好的方式是在xml文件中不同密度的手机进行分别设置。
这里地图的偏移量可以在values-hpdi,values-mdpi,values-ldpi三种文件夹中的dimens.xml文件进行设置
值得一提的是:
这里的负数是完全起作用的,系统会认为它是一个负值
4. 各大手机厂商对于Android操作系统都有或多或少的改动,当然这些改动会对我们应用程序产生某些影响
- ANDROID 如何适配屏幕
- ANDROID 如何适配屏幕
- Android应用如何做屏幕适配
- ANDROID应用如何适配屏幕
- 【android】GridView如何适配不同屏幕
- android:如何处理屏幕适配问题?
- Android GridView如何适配不同屏幕
- Android的界面是如何适配多样化屏幕
- android如何处理不同屏幕的适配
- ANDROID 如何适配屏幕之density
- Android应用如何适配不同的屏幕
- 【Android】屏幕适配
- android屏幕适配
- android屏幕适配
- android 屏幕适配
- Android屏幕适配
- Android屏幕适配
- Android屏幕适配
- AS3 Starling 塔防教程——第一部分——外部文件加载
- mongodb
- C# sqlite
- 一个二维码通吃 android , ios 下载
- Asp.Net页面生命周期
- ANDROID 如何适配屏幕
- 16 个 Linux 服务器监控命令
- 数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案
- 【安卓笔记】ViewPager+Fragment布局中的Fragment数据更新
- dojo单柱状图
- asp.net webform中的相对地址和绝对地址
- webbrowser获取和设置变量的值
- ffplay的快捷键以及选项
- Android旧版NDK环境配置