对于老项目,如果使用了 AndroidAutoLayout,请参考 AndroidAutoLayout 迁移指南,AndroidAutoSize 可以和 AndroidAutoLayout 一起使用,因为 AndroidAutoLayout 使用的是 px,所以 AndroidAutoSize 对它不会产生任何影响,如果老项目的某些页面之前使用了 dp 进行布局,并且 AndroidAutoSize 对这些页面已经产生了不良影响,可以让之前使用了 dp 的旧 Activity 实现 CancelAdapt 取消适配,建议使用副单位,使用副单位则不会影响之前使用了 dp 的页面 (也不会影响三方库和系统控件),详情请查看 demo-subunits
implementation 'me.jessyan:autosize:1.2.1'
<manifest>
<application>
<meta-data
android:name="design_width_in_dp"
android:value="360"/>
<meta-data
android:name="design_height_in_dp"
android:value="640"/>
</application>
</manifest>
布局时的实时预览在开发阶段是一个很重要的环节,很多情况下 Android Studio 提供的默认预览设备并不能完全展示我们的设计图,所以我们就需要自己创建模拟设备,下面就介绍下 dp、pt、in、mm 这四种单位的模拟设备创建方法
如果您在预览时不希望在 Preview 中出现状态栏和导航栏, 则可以根据下图选择 panel 主题,使用该主题后纵向分辨率刚好填充整个预览页面,显示效果完全和设计图一致
为了方便广大新手,所以还是将创建模拟设备的步骤贴出来,为大家操碎了心,如果觉得 AndroidAutoSize 不错,请一定记得 star,并将 AndroidAutoSize 推荐给您的伙伴们
public class CustomAdaptActivity extends AppCompatActivity implements CustomAdapt {
@Override
public boolean isBaseOnWidth() {
return false;
}
@Override
public float getSizeInDp() {
return 667;
}
}
public class CancelAdaptActivity extends AppCompatActivity implements CancelAdapt {
}
AutoSizeConfig.getInstance().setCustomFragment(true);
public class CustomAdaptFragment extends Fragment implements CustomAdapt {
@Override
public boolean isBaseOnWidth() {
return false;
}
@Override
public float getSizeInDp() {
return 667;
}
}
public class CancelAdaptFragment extends Fragment implements CancelAdapt {
}
AutoSizeConfig.getInstance().getUnitsManager()
.setSupportDP(false)
.setSupportSP(false)
.setSupportSubunits(Subunits.MM);
Copyright 2018, jessyan
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。