Android一点 打造全功能屏幕适配AutoView
android適配是繁瑣的事,分辨率多樣,考慮因素多,并且ui設計圖還是px單位的,這時候你就需要AutoView了,AutoView可以幫你做什么呢?寫多個dimens文件? 還是需要寫很多的代碼?no,這些都不用了,開發(fā)還是和之前的一樣,而且還可以輕松的和ui設計圖對應上
AutoView使用大法
傳送門AutoView:https://github.com/Flyjun-Android/AutoView
1、你的build.gradle需要
compile project(':AutoViewCore')2、在你的BaseActivity上調(diào)用
AutoView.init(this);orAutoView.init(this,1080.0f);第二個參數(shù)為你ui設計圖設計的基準尺寸(比如1080 * 1920就是1080,720 * 1280就是720,默認是1080的) 需要在setContentView之前執(zhí)行
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.drawablePadding5、使用代碼也可以輕松的適配view,builder模式調(diào)用 例如:
AutoView.autoBuilder(view).setWidth(320).setHeight(120).setMarginTop(50).builder();6、你還可以獲取一個已經(jīng)適配好的值
AutoView.getAutoSize(this,120)7、如果需要適配橫豎屏,那么需要values-land的dimens和values的dimens一起來操作即可 比如都有一個寬度width,都引用這個值即可
8、look look 效果圖
720*1280效果圖
1080*1920效果圖
1536*2048 nexus9平板效果圖
總結(jié)
以上是生活随笔為你收集整理的Android一点 打造全功能屏幕适配AutoView的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java ArrayList应用之抽奖软
- 下一篇: 数学公式编辑器