Android一点 打造全功能屏幕适配AutoView
android适配是繁琐的事,分辨率多样,考虑因素多,并且ui设计图还是px单位的,这时候你就需要AutoView了,AutoView可以帮你做什么呢?写多个dimens文件? 还是需要写很多的代码?no,这些都不用了,开发还是和之前的一样,而且还可以轻松的和ui设计图对应上
AutoView使用大法
传送门AutoView:https://github.com/Flyjun-Android/AutoView
1、你的build.gradle需要
compile project(':AutoViewCore')
2、在你的BaseActivity上调用
AutoView.init(this);orAutoView.init(this,1080.0f);
第二个参数为你ui设计图设计的基准尺寸(比如1080 * 1920就是1080,720 * 1280就是720,默认是1080的) 需要在setContentView之前执行
3、在你的布局layout文件中这么使用
<?xml version="1.0" encoding="utf-8"?>
<com.flyjun.view.AutoLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"android:orientation="vertical"
android:id="@+id/layout"
><TextViewandroid:layout_width="200px"android:layout_height="200px"android:textSize="50px"android:textColor="@android:color/black"android:background="@android:color/darker_gray"android:text="hello"/><com.flyjun.view.AutoRelativeLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:layout_width="520px"android:layout_height="520px"android:textSize="80px"android:textColor="@android:color/holo_red_light"android:background="@android:color/holo_green_light"android:text="AutoView"/></com.flyjun.view.AutoRelativeLayout><include layout="@layout/inlayout"/></com.flyjun.view.AutoLinearLayout>
你只需要做的的是
LinearLayout->AutoLinearLayout RelativeLayout->AutoRelativeLayoutFrameLayout->AutoFrameLayout
注意,如果你的跟布局也需要适配,需要加上
xmlns:auto="http://schemas.android.com/apk/res-auto"
auto:autoParents="true"
4、AutoView支持的属性几乎涵盖了所有
android.R.attr.textSizeandroid.R.attr.paddingandroid.R.attr.paddingLeftandroid.R.attr.paddingTopandroid.R.attr.paddingRightandroid.R.attr.paddingBottomandroid.R.attr.layout_widthandroid.R.attr.layout_heightandroid.R.attr.layout_marginandroid.R.attr.layout_marginLeftandroid.R.attr.layout_marginTopandroid.R.attr.layout_marginRightandroid.R.attr.layout_marginBottomandroid.R.attr.drawablePadding
5、使用代码也可以轻松的适配view,builder模式调用 例如:
AutoView.autoBuilder(view).setWidth(320).setHeight(120).setMarginTop(50).builder();
6、你还可以获取一个已经适配好的值
AutoView.getAutoSize(this,120)
7、如果需要适配横竖屏,那么需要values-land的dimens和values的dimens一起来操作即可 比如都有一个宽度width,都引用这个值即可
8、look look 效果图
720*1280效果图
1080*1920效果图
1536*2048 nexus9平板效果图
Android一点 打造全功能屏幕适配AutoView相关推荐
- Android最全的屏幕适配
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入 ...
- Dell venue 8 pro 打造全功能机
这次的目的,是打造一个全功能机,预装Rosetta Stone.Supememo软件学习,能处理office文档,能当mp3播放机,能看电影能上网,能当电子书阅读器(还要能读),玩游戏当然也能满足要求 ...
- Android高级-网易云音乐屏幕适配
为什么要进行屏幕适配 屏幕碎片化表现为以下几个方面: 1:屏幕尺寸碎片化: 2:屏幕密度碎片化 3:厂商碎片化:水滴屏,刘海屏 屏幕适配常见方式 二 谷歌推出的百分比布局 手写百分比布局; 为什么百分 ...
- 柔宇技术大会:打造全柔性屏幕新高度 实现战略合作新布局
3月25日,柔宇科技举行了"2020年柔宇技术大会暨战略合作伙伴签约仪式".此次大会以"柔性视界 折叠未来"为主题,以在线发布的形式面向全球媒体.合作伙伴及广大 ...
- Android 拍照和图库功能(适配Android 6.0和7.0系统和华为机型问题)
众所周知,调用相机拍照和图库中获取图片的功能,基本上是每个程序App必备的. 实现适配Android每个版本,国内手机,要处理的问题却也不少.例如:Android6.0权限问题,Android7.0 ...
- Android 广告图片 全屏图片适配方案的思路
场景: 在启动页加载一个全屏广告图片,要适配不同的机型. 问题: 如何适配不同的机型? 解决方法: 不要做满屏的图片,最好图片内容居中,周围留上纯色,就可以适配所有屏幕.可以参考淘宝.京东等.
- CentOS 5打造全功能Web服务器
转:主要做为历史记录,以后用.另外很少见这么好的编译的文章,其实我不推荐用编译安装.但这个文章不错. V3.0 2007年11月11日 将搭建教程划分阶段以适应不同需要.加入程序优化,程序安全,加入m ...
- mysql udf安全_打造全功能MYSQL入侵UDF
现在网上通过mysql获得系统权限大都通过MYSQL的用户函数接口UDF,比如Mix.dll和my_udf.dll.在Mix.dll中有一个MixConnect函数它会反弹shell,但是使用这个函数 ...
- Android实现更换头像功能(适配Android7.0版本)
只要涉及到用户的功能,基本都会使用到用户头像功能.那么切换用户头像,就是一个必做的功能.切换头像的图片源,一般有两个:一个是拍照然后裁剪图片,另一种是从图库中选择图片,然后裁剪图片.所以这里就来实现这 ...
最新文章
- OpenCL2.0特性之SVM
- Xcode 修改系统的代码块样式 Code Snippet
- spark任务shell运行_《Spark快速大数据分析》- 根据简单例子理解RDD
- java breakpoint_java断点
- 如何解决使用mac聚焦搜索无法搜索软件的情况
- 14. GD32F103C8T6入门教程-Systick定时器
- Spring自定义属性编辑器及原理解释.md
- 压力变送器自动检测系统 技术设计说明书
- flowable工作流所有业务概念
- HDU 3533 Escape
- Android 百度语音合成手把手教学
- 解决android手机EditText设置光标颜色,android:textCursorDrawable=@drawable/corner_cursor 华为手机无效果的问题
- java基于SSM的手机商城
- 岳阳长沙深圳市区中考和高考难度对比
- 计算机用户名大小写,windows计算机名大小写
- 艾宾浩斯遗忘曲线复习计划表
- OPC配置DCOM解决方案
- 中国科学技术大学计算机专业排名,2019中国科学技术大学专业排名
- 字符串对比(c语言)
- DDos应用层攻击防御