当前位置: 首页 > news >正文

新开传奇发布网站渭南做网站的

新开传奇发布网站,渭南做网站的,云南网站建设方法,绵竹网站建设GitHub地址为什么要屏幕适配#xff1f;device_framentation.png统计碎片化品牌机型碎片化屏幕尺寸碎片化操作系统碎片化为了保证用户获得一致的用户体验效果#xff0c;使得某一元素在Android不同尺寸、不同分辨率的手机上具备相同的显示效果#xff0c;则需要我们进行屏幕…GitHub地址为什么要屏幕适配device_framentation.png统计碎片化品牌机型碎片化屏幕尺寸碎片化操作系统碎片化为了保证用户获得一致的用户体验效果使得某一元素在Android不同尺寸、不同分辨率的手机上具备相同的显示效果则需要我们进行屏幕适配。基础概念屏幕尺寸屏幕尺寸是指屏幕对角线的长度单位是英寸1 inch2.54 cm屏幕分辨率手机在横向和纵向上的像素点数总和单位是像素(pixel)1px 1像素点举个栗子1080x1920即宽度方向上有1080个像素点在高度方向上有1920个像素点。屏幕像素密度每英寸像素点个数单位是dpidots per inch。为简便起见Android 将所有屏幕密度分组为六种通用密度 低、中、高、超高、超超高和超超超高。ldpi(低)~120dpimdpi(中)~160dpihdpi(高)~240dpixhdpi(超高)~320dpixxhdpi(超超高)~480dpixxxhdpi(超超超高)~640dpidpi_example.png屏幕密度无关像素dp(dip)Density Independent Pixels即密度无关像素。160dpi, 1dp 1px240dpi, 1dp 1.5px320dpi, 1dp 2px480dpi, 1dp 3px640dpi, 1dp 4px使用px在低、中、高屏幕密度下的效果###density-test-bad.png使用dp在低、中、高屏幕密度下的效果density-test-good.png独立比例像素spScale Independent Pixels, 即sp或sip。Android开发时用此单位设置文字大小可根据字体大小首选项进行缩放推荐使用12sp、14sp、18sp、22sp作为字体设置的大小不推荐使用奇数和小数容易造成精度的丢失问题,小于12sp的字体会太小导致用户看不清。屏幕适配之图片适配screens-densities.png在设计图标时对于5种主流的像素密度(mdpi,hdpi,xhdpi,xxhdpi和xxxdpi)应按照2:3:4:6:8的比例进行缩放。例如一个启动图片ic_launcher.png,它在各个像素密度文件夹下大小为ldpi(低)mdpi(中)48*48hdpi(高)72*72xhdpi(超高)96*96xxhdpi(超超高)144*144xxxhdpi(超超超高)192*192存在的问题每套分辨率出一套图为美工或者设计增加了许多工作量对Android工程文件的apk包变的很大解决方法Android SDK加载图片流程Android SDK会根据屏幕密度自动选择对应的资源文件进行渲染加载比如说SDK检测到你手机的分辨率是xhdpi会优先到xhdpi文件夹下找对应的图片资源如果xhdpi文件夹下没有图片资源那么就会去分辨率高的文件夹下查找比如xxhdpi直到找到同名图片资源将它按比例缩小成xhpi图片如果往上查找图片还是没有找到那么就会往低分辨率的文件夹查找比如hdpi直到找到同名图片资源将它按比例放大成xhpi图片。根据加载图片的流程可以得出理论上提供一套图片就可以了。那么应该提供哪种分辨率规格呢###原则上越高越好同时结合当前主流分辨率屏幕自动拉伸图片ninepatch_raw.pngninepatch_examples.png屏幕适配之布局适配布局参数使用wrap_content, match_parent, layout_weight。weight的使用weight_examples.png当layout_width为0dplayout_weight分别是1和2android:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:orientationhorizontalandroid:layout_width0dpandroid:layout_heightwrap_contentandroid:layout_weight1android:textweight 1/android:layout_width0dpandroid:layout_heightwrap_contentandroid:layout_weight2android:textweight 2/当layout_width为match_parent,layout_weight分别为1和2android:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:orientationhorizontalandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_weight1android:textweight 1/android:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_weight2android:textweight 2/weight的计算宽度 原来宽度 权重比值 * 剩余宽度当layout_width为0dplayout_weight分别是1和2第一个按钮宽度 0 1/3 * 屏宽 1/3屏宽第二个按钮宽度 0 2/3 * 屏宽 2/3屏宽当layout_width为match_parent, layout_weight分别是1和2第一个按钮宽度 屏宽 1/3 * (屏宽 - 2 * 屏宽) 2/3屏宽第二个按钮宽度 屏宽 2/3 * (屏宽 - 2 * 屏宽) 1/3屏宽布局使用使用相对布局禁用绝对布局。限定符尺寸限定符在手机较小的屏幕上加载layout文件夹布局在平板电脑和电视的屏幕(7英寸)上 加载layout-large文件夹的布局Android3.2版本之前最小宽度限定符在手机较小的屏幕上加载layout文件夹布局标准7英寸平板(其最小宽度为 600 dp)加载layout-sw600dp文件夹的布局在Android3.2版本及之后版本布局别名适配手机的单面板(默认)布局res/layout/activity_main.xml适配尺寸7寸平板的双面板布局(Android 3.2前)res/layout-large/activity_main.xml适配尺寸7寸平板的双面板布局(Android 3.2后)res/layout-sw600dp/activity_main.xml最后的两个文件的xml内容是完全相同的这会带来文件名的重复从而带来一些列后期维护的问题修改一个文件可能忘记修改另外一个。于是为了要解决这种重复问题我们引入了布局别名。适配手机的单面板(默认)布局res/layout/activity_main.xml适配尺寸7寸平板的双面板布局res/layout/activity_twopanes.xmlres/values/layout.xmllayout/activity_mainres/values-large/layout.xmllayout/activity_twopanesres/values-sw600dp/layout.xmllayout/activity_twopanessetContentView(R.layout.main);屏幕方向限定符res/layout-landres/layout-portres/layout-sw600dp-landres/layout-sw600dp-port屏幕适配之dimen适配Nexus 4 (4.7英寸 768x1280:xhdpi)dimen_example1.pngNexus S (4英寸 480x800:hdpi)dimen_example2.png即使使用dp依然不能解决屏幕分辨率的适配问题我们可以针对不同的屏幕创建不同的dimen值。res/values/dimens.xml180dp160dpres/values-480x800/dimens.xml113dp100dp屏幕适配之百分比布局xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_width0dpandroid:layout_heightwrap_contentandroid:text30%app:layout_widthPercent30%/android:layout_width0dpandroid:layout_heightwrap_contentandroid:layout_alignParentRighttrueandroid:text20%app:layout_widthPercent20%/屏幕适配之自适应用户界面newsreader_land.pngnewsreader_port.png当NewsReader在横屏时是双面板左侧是HeadLinesFragment, 右侧是ArticleFragment, 点击新闻标题, 切换ArticleFragment的内容。当NewsReader在竖屏时是单面板只有个HeadLinesFragment, 点击新闻标题跳转到ArticleActivity去显示新闻内容。所以要实现这样的横竖屏适配只是通过布局是完成不了的不同业务逻辑的处理还需要写代码来完成这就是我们的自适应用户界面。使用布局别名res/values/layouts.xmllayout/onepane_with_barfalseres/values-sw600dp-land/layouts.xmllayout/twopanestrueres/values-sw600dp-port/layouts.xmllayout/onepanefalse判断是单面板还是双面板View articleView findViewById(R.id.article);mIsDualPane articleView ! null articleView.getVisibility() View.VISIBLE;//如果能够找到ArticleFragment则是双面板单双面板的不同业务逻辑public void onHeadlineSelected(int index) {mArtIndex index;if (mIsDualPane) {// display it on the article fragmentmArticleFragment.displayArticle(mCurrentCat.getArticle(index));}else {// use separate activityIntent i new Intent(this, ArticleActivity.class);i.putExtra(catIndex, mCatIndex);i.putExtra(artIndex, index);startActivity(i);}}参考本文部分文字和图片直接摘录自以下内容
http://www.yutouwan.com/news/68729/

相关文章:

  • 吉林省建设工程造价网站雅虎网站提交入口
  • 建设银行宁德分行网站从化公司网站建设
  • 北京网站推广技巧免费网站推广app
  • 网站建设哪家有实力如何用python做一个网站
  • 中英文对照网站怎么做在线教育网站建设方案
  • 电子商城开发网站开发网站建设实现用户登录
  • 卖二手手表的网站长春seo招聘
  • 企业网站 多网站推广京东网站是哪个公司做的
  • 做网站要学会什么软件需要哪些技术
  • 阜阳市建设工程网站国内知名设计网站
  • 什么好的主题做网站我想做个百度网站怎么做的
  • 思途做的旅游网站WordPress已安装主题
  • 福州做网站企业网页设计图片代码怎么写
  • 网站前台可以打开怎么做纯文本网站
  • 集团公司门户网站建设wordpress多边形按钮
  • 网页设计与网站开发第三版课后答案wordpress考试主题
  • 网监关闭的网站怎么恢复响应式网站源码下载
  • 网站关键词优化快速排名中国工程建设协会网站
  • 本地网站建设教程xampp临安做企业网站的公司
  • 网站的下拉列表怎么做论述简述网站制作的步骤
  • 河南今天刚刚发生的新闻事件seo课程哪个好
  • 保姆给老人做爰神马网站什么店是做网站制作的
  • 制作网站空间域名移动应用开发是学什么的
  • 网站建设推广价格公司网站建设费用会计入账
  • 设计网站专题页包括那些项目免费销售网站模板下载
  • 做pc端网站哪家好电商设计包括什么
  • 建设网站一定要电脑吗wordpress指定文章标题
  • 做网站需要团队还是一个人手机网站建设模板
  • 营销型网站建设专家seo 网站树
  • c 做网站开发自己建的网站打不开