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

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平板效果图
这里写图片描述

http://www.lryc.cn/news/2419009.html

相关文章:

  • 深度解析JavaScript中常见设计模式及其应用场景,看完去面试,面试官说:就你了
  • 安卓期末大作业——安卓手机网上商城-2号店
  • JavaWeb实现简单的文件上传和下载
  • PerformanceCounter 性能计数器的使用
  • 六亿美金到数千万美元,西雅图行业先驱要私有化!
  • 问题解决:com.lowagie.text.DocumentException: Font 'STSong-Light' with 'UniGB-UCS2-H'
  • 软件开发完整流程整套文档(开发实施运维安全交付)
  • 超宽屏幕比例_显示器屏幕比例与分辨率对照表
  • C# 设计模式(一)
  • JCreator调试全攻略
  • 基于领域特定语言(DSL)的用例驱动开发(UDD)
  • 【YOLO使用】YOLOv5训练目标检测任务入门用法(一)
  • 文件系统格式FAT16、FAT32、NTFS、exFAT的区别
  • 什么是垂直搜索引擎
  • 【软件基础】面向对象分析与设计思想总结
  • freepascal linux 界面,FreePascal中的编译器选项
  • eclipse安装flash builder 4.7插件以及java、flex整合开发
  • MSF使用教程
  • h3c防火墙u200配置命令_绝了!华为、H3C、锐捷交换机配置命令大全
  • sort函数用法与stable_sort函数
  • 世界华人名人录
  • TypedArray的用法和declare-styleable:自定义控件的属性
  • 【IO】读写文件(FileInputStream、FileOutputStream、FileReader、FileWriter、RandomAccessFile)
  • 网络信息安全等级与标准_比较tcsec,cc及我国信息安全等级保护标准
  • 斗罗大陆武魂觉醒礼包码最新兑换码2024
  • 五笔字根表
  • (虚拟机)win10忘记密码重置_copy sethc,熬夜整理华为最新网络安全笔试题
  • 用移动硬盘当系统盘,即插即用
  • HTML的基本标签II
  • adns库的使用