整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Android屏幕适配方案

录介绍

  • 1.屏幕适配定义
  • 2.相关重要的概念
  • 2.1 屏幕尺寸[物理尺寸]
  • 2.2 屏幕分辨率[px]
  • 2.3 屏幕像素密度[dpi]
  • 2.4 dp、dip、dpi、sp、px
  • 2.5 mdpi、hdpi、xdpi、xxdpi
  • 2.6 获取屏幕分辨率[宽高]
  • 3.Android屏幕适配出现的原因
  • 3.1 什么是像素点
  • 3.2 dp与百分比
  • 4.Android适配问题及本质
  • 4.1 尺寸适配
  • 4.2 代码适配
  • 4.3 布局适配
  • 4.4 权重适配
  • 4.5 图片适配
  • 4.6 百分比适配
  • 5.存在问题和困境
  • 5.1 通配符适配困境
  • 5.2 传统dp适配困境
  • 6.常用解决方案
  • 6.1 适配方案
  • 6.2 鸿洋大神库
  • 6.3 AndroidAutoSize

1.屏幕适配定义

  • 使得某一元素在Android不同尺寸、不同分辨率的手机上具备相同的显示效果

2.相关重要的概念

2.1 屏幕尺寸[物理尺寸]

  • 含义:手机对角线的物理尺寸
  • 单位:英寸(inch),1英寸=2.54cm
  • Android手机常见的尺寸有5寸、5.5寸、6寸等等

2.2 屏幕分辨率[px]

  • 含义:手机在横向、纵向上的像素点数总和
  • 一般描述成屏幕的"宽x高”=AxB
  • 含义:屏幕在横向方向(宽度)上有A个像素点,在纵向方向 (高)有B个像素点
  • 例子:1080x1920,即宽度方向上有1080个像素点,在高度方向上有1920个像素点
  • 单位:px(pixel),1px=1像素点
  • Android手机常见的分辨率:720x1280、1080x1920等等

2.3 屏幕像素密度[dpi]

  • 含义:每英寸的像素点数
  • 单位:dpi(dots per ich)
  • 假设设备内每英寸有160个像素,那么该设备的屏幕像素密度=160dpi
  • 屏幕像素密度与屏幕尺寸和屏幕分辨率有关,在单一变化条件下,屏幕尺寸越小、分辨率越高,像素密度越大,反之越小。
  • dpi计算公式:举个例子:屏幕分辨率为:1920*1080,屏幕尺寸为5吋的话,那么dpi为440


  • 注意:dpi是根据屏幕真实的分辨率和尺寸来计算的,每个设备都可能不一样的

2.4 dp[dip]、dpi、sp、px

  • dp(dip):px = dp * 密度比,都是Density Independent Pixels的缩写,即密度无关像素
  • dpi:开方(宽度平方 + 高度平方) / 手机的尺寸;dpi是屏幕像素密度,假如一英寸里面有160个像素,这个屏幕的像素密度就是160dpi
  • sp: 可以根据文字大小首选项进行放缩,是设置字体大小的御用单位。
  • px: 像素,px是比较熟悉,前面的分辨率就是用的像素为单位,大多数情况下,比如UI设计、Android原生API都会以px作为统一的计量单位,像素是获取屏幕宽高等。
  • 问题: dp和px如何换算呢?
px = density * dp;
density = dpi / 160;
px = dp * (dpi / 160);

2.5 mdpi、hdpi、xdpi、xxdpi

  • 2.5.1 作用: mdpi、hdpi、xdpi、xxdpi用来修饰Android中的drawable文件夹及values文件夹,用来区分不同像素密度下的图片和dimen值。
名称像 素密度范围
ldpi 0dpi~120dpi
mdpi 120dpi~160dpi
hdpi 120dpi~160dpi
xdpi 160dpi~240dpi
xxdpi 240dpi~320dpi
xxxdpi 480dpi~640dpi
Android项目后应该可以看到很多drawable文件夹,分别对应不同的dpi
drawable-ldpi (dpi=120, density=0.75)
drawable-mdpi (dpi=160, density=1)
drawable-hdpi (dpi=240, density=1.5)
drawable-xhdpi (dpi=320, density=2)
drawable-xxhdpi (dpi=480, density=3)
对于五种主流的像素密度(MDPI、HDPI、XHDPI、XXHDPI 和 XXXHDPI)应按照 2:3:4:6:8 的比例进行缩放。
  • 2.5.2 在进行开发的时候,我们需要把合适大小的图片放在合适的文件夹里面。下面以图标设计为例进行介绍
  • 2.5.3 在设计图标时,对于五种主流的像素密度(MDPI、HDPI、XHDPI、XXHDPI 和 XXXHDPI)应按照 2:3:4:6:8 的比例进行缩放。
  • 例如,一个启动图标的尺寸为48x48 dp,这表示在 MDPI 的屏幕上其实际尺寸应为 48x48 px,在 HDPI 的屏幕上其实际大小是 MDPI 的 1.5 倍 (72x72 px),在 XDPI 的屏幕上其实际大小是 MDPI 的 2 倍 (96x96 px),依此类推。
  • 2.5.4 下图为图标的各个屏幕密度的对应尺寸:
屏幕密度 图标尺寸
mdpi 48X48px
hdpi 72X72px
xdpi 96X96px
xxdpi 144X144px
xxxdpi 192X192px

2.6 DisplayMetrics解析

  • DisplayMetrics解析
  • 获取屏幕分辨率信息的三种方法:
//第一种
DisplayMetrics metrics = new DisplayMetrics();
Display display = activity.getWindowManager().getDefaultDisplay();
display.getMetrics(metrics);
//第二种
DisplayMetrics metrics= activity.getResources().getDisplayMetrics();
//第三种
Resources.getSystem().getDisplayMetrics();

3.Android屏幕适配出现的原因

3.1 什么是像素点

  • 屏幕分辨率是指在横纵向上的像素点数,单位是px,1px=1个像素点。
  • 一般以纵向像素横向像素,如19601080。 由于Android系统的开放性,任何用户、开发者、OEM厂商、运营商都可以对Android进行定制,修改成他们想要的样子。 屏幕尺寸这么多,为了让我们开发的程序能够比较美观的显示在不同尺寸、分辨率、像素密度(这些概念我会在下面详细讲解)的设备上,那就要在开发的过程中进行处理,至于如何去进行处理,这就是我们今天的主题。

3.2 dp与百分比 (网页前端提供百分比,所以无需适配)

  • 只要记住一点dp是与像素无关的,在实际使用中1dp大约等于1/160inch
  • 那么dp究竟解决了适配上的什么问题?可以看出1dp = 1/160inch;那么它至少能解决一个问题,就是你在布局文件写某个View的宽和高为160dp*160dp,这个View在任何分辨率的屏幕中,显示的尺寸大小是大约是一致的(可能不精确),大概是 1 inch * 1 inch。
  • 1.呈现效果仍旧会有差异,仅仅是相近而已
  1. 当设备的物理尺寸存在差异的时候,dp就显得无能为力了。为4.3寸屏幕准备的UI,运行在5.0寸的屏幕上,很可能在右侧和下侧存在大量的空白。而5.0寸的UI运行到4.3寸的设备上,很可能显示不下。
  • 一句话,总结下,dp能够让同一数值在不同的分辨率展示出大致相同的尺寸大小。但是当设备的尺寸差异较大的时候,就无能为力了。

4.Android屏幕适配常见方法

4.1 适配常见方法

  • 尺寸适配
  • dimen适配
  • 布局适配
  • 代码适配
  • 图片适配

4.2 尺寸适配

  • 4.2.1 布局文件设置宽高
  • 宽高设置参数:有的时候用dp,有的时候用px,大多数用dp
  • dp:dp(dip):px = dp * 密度比,与屏幕像素有对应关系,设置成dp后,在不同分辨率的手机上有可能尺寸会不一样 px:像素,比如小分辨率手机上一像素和大分辨率手机上一像素,所显示的图像是不一样的 理解dp和px之间对应的关系,不同分辨率的手机用不同的dp值来适配
  • 4.2.2 密度比
  • 密度比是固定的,可以查询文档Develop—>API Guides—>Best Practices—>Supporting Multiple mdpi手机:160dpi 是基准线,1px = 1dp * 1,其他手机的密度比 = 自己的dpi/160
  • 代码获取密度比:getResources().getDisplayMetrics().density
ldip:120px = 160dp * 0.75
mdpi:160px = 160dp * 1
hdpi:240px = 160dp * 1.5
xhdpi:360px = 180dp * 2
  • 4.2.3 dimen适配
1.在默认的values中的dimens文件下声明(类似于Strings.xml)
 <dimen name="activity_horizontal_margin">16dp</dimen>
 <dimen name="activity_vertical_margin">16dp</dimen>
 <dimen name="harlWidth">160dp</dimen>
<?xml version="1.0" encoding="utf-8"?>
<resources>
 <!-- values-hdpi 480X800 -->
 <dimen name="imagewidth">120dip</dimen> 
</resources>
<resources>
 <!-- values-hdpi-1280x800 -->
 <dimen name="imagewidth">220dip</dimen> 
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
 <!-- values-hdpi 480X320 -->
 <dimen name="imagewidth">80dip</dimen> 
</resources>
2.在布局文件中引用
<TextView
 android:layout_width="@dimen/harlWidth"
 android:layout_height="wrap_content"
 android:background="#0ff"
 android:text="@string/hello_world" />
3.新建需要适配的values-XXX(比如values-1280x720,注意规范大值在前)
4.在新建values-1280x720中的dimens.xml文件中
	* <dimen name="harlWidth">180dp</dimen>
5.所有手机适配找对应的默认的dimens
	* 思考:如何计算dpi?如何计算手机密度比?能够用dp适配所有手机吗?
	* dp不能适配所有手机;
	* 举个例子:按钮占屏幕宽度一半,把宽度设置成160dp,120px和160px和240px可以占屏幕一半,但是360px则小于屏幕一半;
	* 如果把宽度设置成180dp,那么360dp可以占屏幕一半,但其他几个又不行。
	* 如果要适配所有手机的控件宽度为屏幕宽度的一半,该怎么做呢?用dimen

4.2 代码适配

4.3 布局适配,有可能在不同的手机布局中,控件排列的位置不一样

  • 1.位置不一样
  • 不同的手机在运行的时候选择不同的布局(布局名称一样,类似于dimens),比如:
  • 2.控件不一样
  • 不能用布局适配了;为什么?
  • 布局能够实现界面效果,但是完成布局后在代码中,由于控件都不一样,所以会找这两套布局的id,还要做判断,根据不同的布局做两套代码(如果页面复杂,给控件设置参数等十分繁琐)
  • 3.适用场景
  • 不同的手机的控件的位置不一样,发生了位置变化才会用到布局适配,实际开发中用的很少

4.4 权重适配

4.5 图片适配

  • 1.图片的查找顺序
  • 注意:一般手机 ldpi<drawable<mdpi<hdpi<xhdpi<xxhdpi 先找自己对应的文件夹,再找大分辨率,再找小分辨率
  • 注意:mdpi手机 ldpi<mdpi<drawable<hdpi<xhdpi<xxhdpi 先找自己对应的文件夹,找drawable文件夹,再找大分辨率,再找小分辨率
  • 适配主流手机,1920 * 1080 1080 * 720 800 * 480,高清图、背景图(全屏展示)准备多套 。小图片 准备一套高分辨率的;比如按钮,图标等
  • 为了是apk瘦身,有些图片不要准备多套,Android分辨率种类太多了;即使适配主流手机,展示比较清楚的背景图(比如:欢迎界面),可以准备多套
  • 2.在小分辨率展示高清图,放到大分辨率会出现什么情况呢?
  • 比如:你针对800480分辨率手机做了背景图图片,正好完全展示;如果把它放到大分辨率1280720上,会对图片进行拉伸,会使像素点变大,可能会看到锯齿或者模糊的东西

5.存在问题和困境

5.1 通配符适配困境

5.2 传统dp适配困境

  • [摘自头条]一般我们设计图都是以固定的尺寸来设计的。比如以分辨率750px * 1334px来设计,以density为3来标注,也就是屏幕其实是350dp * 667dp。如果想在所有设备上显示完全一致,其实是不现实的,因为屏幕高宽比不是固定的,各种宽高比层出不穷,宽高比不同,显示完全一致就不可能了。但是通常下,我们只需要以宽或高一个维度去适配,比如我们Feed是上下滑动的,只需要保证在所有设备中宽的维度上显示一致即可,再比如一个不支持上下滑动的页面,那么需要保证在高这个维度上都显示一致,尤其不能存在某些设备上显示不全的情况。同时考虑到现在基本都是以dp为单位去做的适配,如果新的方案不支持dp,那么迁移成本也非常高。
  • 因此,总结下大致需求如下:
  • 支持以宽或者高一个维度去适配,保持该维度上和设计图一致;注意是某一个维度
  • 支持dp和sp单位,控制迁移成本到最小。

6.常用适配框架

6.1 适配方案

  • 6.1.1 兼容突破口
  • 从dp和px的转换公式 :px = dp * density
  • 可以看出,如果设计图宽为360dp,想要保证在所有设备计算得出的px值都正好是屏幕宽度的话,我们只能修改 density 的值。
//在xml中使用何种尺寸单位(dp、sp、pt、in、mm),最后在绘制时都会给我们转成px!
public static float applyDimension(int unit, float value, DisplayMetrics metrics) {
 switch (unit) {
 case COMPLEX_UNIT_PX:
 return value;
 case COMPLEX_UNIT_DIP:
 return value * metrics.density;
 case COMPLEX_UNIT_SP:
 return value * metrics.scaledDensity;
 case COMPLEX_UNIT_PT:
 return value * metrics.xdpi * (1.0f/72);
 case COMPLEX_UNIT_IN:
 return value * metrics.xdpi;
 case COMPLEX_UNIT_MM:
 return value * metrics.xdpi * (1.0f/25.4f);
 }
 return 0;
}
  • 6.1.2 头条适配方案核心代码
public static void setCustomDensity(Activity activity, Application application) {
 DisplayMetrics displayMetrics = application.getResources().getDisplayMetrics();
 if (sNoncompatDensity == 0) {
 // 系统的Density
 sNoncompatDensity = displayMetrics.density;
 // 系统的ScaledDensity
 sNoncompatScaledDensity = displayMetrics.scaledDensity;
 // 监听在系统设置中切换字体
 application.registerComponentCallbacks(new ComponentCallbacks() {
 @Override
 public void onConfigurationChanged(Configuration newConfig) {
 if (newConfig != null && newConfig.fontScale > 0) {
 sNoncompatScaledDensity=application.getResources().getDisplayMetrics().scaledDensity;
 }
 }
 @Override
 public void onLowMemory() {
 }
 });
 }
 // 公司UI尺寸是750px-1334px,此处以375dp的设计图作为例子
 float targetDensity=displayMetrics.widthPixels/375;
 float targetScaledDensity=targetDensity*(sNoncompatScaledDensity/sNoncompatDensity);
 int targetDensityDpi= (int) (160 * targetDensity);
 displayMetrics.density = targetDensity;
 displayMetrics.scaledDensity = targetScaledDensity;
 displayMetrics.densityDpi = targetDensityDpi;
 DisplayMetrics activityDisplayMetrics = activity.getResources().getDisplayMetrics();
 activityDisplayMetrics.density = targetDensity;
 activityDisplayMetrics.scaledDensity = targetScaledDensity;
 activityDisplayMetrics.densityDpi = targetDensityDpi;
}
  • 6.1.3 头条适配方案注意事项
  • 宽度适配就已经完成啦,只需要在Activity中调用就行了,必须在setContentView()之前!
  • 如果需要适配高度,头条指出只要按照同样的方法做高度适配就可以了!
  • 实现思路:假设设计图宽度是360dp,以宽维度来适配,那么适配后的 density = 设备真实宽(单位px) / 360,接下来只需要把我们计算好的 density 在系统中修改下即可
  • 遇到的问题:
  • 1.如果某个页面不想适配该方案,该如何处理
  • 2.滚动页面以宽为维度适配,而某些页面则是以高为维度适配,这种情况怎么办?
  • 3.针对第三方库有何更好的方案,比如支付宝支付弹窗,或者第三方客服聊天页面如何处理适配
  • 6.1.4 头条适配工具类,暂时只是用作测试项目
  • 关于该工具类,已经用于测试项目中,逐步完善,项目可以参考:https://github.com/yangchong211/YCVideoPlayer
public class ScreenDensityUtils {
 /*
 * 1.先在application中使用setup()方法初始化一下
 * 2.手动在Activity中调用match()方法做适配,必须在setContentView()之前
 * 3.建议使用dp做宽度适配,大多数时候宽度适配才是主流需要
 * 4.个人觉得在写布局的时候,可以多用dp,如果是使用px,建议转化成dp
 * 5.入侵性很低,不需要改动原来的代码
 */
 /**
 * 屏幕适配的基准
 */
 private static final int MATCH_BASE_WIDTH = 0;
 private static final int MATCH_BASE_HEIGHT = 1;
 /**
 * 适配单位
 */
 private static final int MATCH_UNIT_DP = 0;
 private static final int MATCH_UNIT_PT = 1;
 // 适配信息
 private static MatchInfo sMatchInfo;
 // Activity 的生命周期监测
 private static Application.ActivityLifecycleCallbacks mActivityLifecycleCallback;
 private ScreenDensityUtils() {
 throw new UnsupportedOperationException("u can't instantiate me...");
 }
 /**
 * 初始化
 * @param application 需要在application中初始化
 */
 public static void setup(@NonNull final Application application) {
 /*
 //获取屏幕分辨率信息的三种方法
 //第一种
 DisplayMetrics metrics = new DisplayMetrics();
 Display display = activity.getWindowManager().getDefaultDisplay();
 display.getMetrics(metrics);
 //第二种
 DisplayMetrics metrics= activity.getResources().getDisplayMetrics();
 //第三种
 Resources.getSystem().getDisplayMetrics();
 */
 //注意这个是获取系统的displayMetrics
 final DisplayMetrics displayMetrics = application.getResources().getDisplayMetrics();
 if (sMatchInfo == null) {
 // 记录系统的原始值
 sMatchInfo = new MatchInfo();
 sMatchInfo.setScreenWidth(displayMetrics.widthPixels);
 sMatchInfo.setScreenHeight(displayMetrics.heightPixels);
 sMatchInfo.setAppDensity(displayMetrics.density);
 sMatchInfo.setAppDensityDpi(displayMetrics.densityDpi);
 sMatchInfo.setAppScaledDensity(displayMetrics.scaledDensity);
 sMatchInfo.setAppXdpi(displayMetrics.xdpi);
 }
 // 添加字体变化的监听
 // 调用 Application#registerComponentCallbacks 注册下 onConfigurationChanged 监听即可。
 application.registerComponentCallbacks(new ComponentCallbacks() {
 @Override
 public void onConfigurationChanged(Configuration newConfig) {
 // 字体改变后,将 appScaledDensity 重新赋值
 if (newConfig != null && newConfig.fontScale > 0) {
 float scaledDensity = displayMetrics.scaledDensity;
 sMatchInfo.setAppScaledDensity(scaledDensity);
 }
 }
 @Override
 public void onLowMemory() {
 }
 });
 }
 /**
 * 在 application 中全局激活适配(也可单独使用 match() 方法在指定页面中配置适配)
 */
 @RequiresApi(api = Build.VERSION_CODES.ICE_CREAM_SANDWICH)
 public static void register(@NonNull final Application application, final float designSize, final int matchBase, final int matchUnit) {
 if (mActivityLifecycleCallback == null) {
 mActivityLifecycleCallback = new Application.ActivityLifecycleCallbacks() {
 @Override
 public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
 if (activity != null) {
 match(activity, designSize, matchBase, matchUnit);
 }
 }
 @Override
 public void onActivityStarted(Activity activity) {
 }
 @Override
 public void onActivityResumed(Activity activity) {
 }
 @Override
 public void onActivityPaused(Activity activity) {
 }
 @Override
 public void onActivityStopped(Activity activity) {
 }
 @Override
 public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
 }
 @Override
 public void onActivityDestroyed(Activity activity) {
 }
 };
 application.registerActivityLifecycleCallbacks(mActivityLifecycleCallback);
 }
 }
 /**
 * 全局取消所有的适配
 */
 @RequiresApi(api = Build.VERSION_CODES.ICE_CREAM_SANDWICH)
 public static void unregister(@NonNull final Application application, @NonNull int... matchUnit) {
 if (mActivityLifecycleCallback != null) {
 application.unregisterActivityLifecycleCallbacks(mActivityLifecycleCallback);
 mActivityLifecycleCallback = null;
 }
 for (int unit : matchUnit) {
 cancelMatch(application, unit);
 }
 }
 /**
 * 适配屏幕(放在 Activity 的 setContentView() 之前执行)
 *
 * @param context 上下文
 * @param designSize 设计图的尺寸
 */
 public static void match(@NonNull final Context context, final float designSize) {
 match(context, designSize, MATCH_BASE_WIDTH, MATCH_UNIT_DP);
 }
 /**
 * 适配屏幕(放在 Activity 的 setContentView() 之前执行)
 *
 * @param context 上下文
 * @param designSize 设计图的尺寸
 * @param matchBase 适配基准
 */
 public static void match(@NonNull final Context context, final float designSize, int matchBase) {
 match(context, designSize, matchBase, MATCH_UNIT_DP);
 }
 /**
 * 适配屏幕(放在 Activity 的 setContentView() 之前执行)
 *
 * @param context 上下文
 * @param designSize 设计图的尺寸
 * @param matchBase 适配基准
 * @param matchUnit 使用的适配单位
 */
 private static void match(@NonNull final Context context, final float designSize, int matchBase, int matchUnit) {
 if (designSize == 0) {
 throw new UnsupportedOperationException("The designSize cannot be equal to 0");
 }
 if (matchUnit == MATCH_UNIT_DP) {
 matchByDP(context, designSize, matchBase);
 } else if (matchUnit == MATCH_UNIT_PT) {
 matchByPT(context, designSize, matchBase);
 }
 }
 /**
 * 重置适配信息,取消适配
 */
 public static void cancelMatch(@NonNull final Context context) {
 cancelMatch(context, MATCH_UNIT_DP);
 cancelMatch(context, MATCH_UNIT_PT);
 }
 /**
 * 重置适配信息,取消适配
 *
 * @param context 上下文
 * @param matchUnit 需要取消适配的单位
 */
 private static void cancelMatch(@NonNull final Context context, int matchUnit) {
 if (sMatchInfo != null) {
 final DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
 if (matchUnit == MATCH_UNIT_DP) {
 if (displayMetrics.density != sMatchInfo.getAppDensity()) {
 displayMetrics.density = sMatchInfo.getAppDensity();
 }
 if (displayMetrics.densityDpi != sMatchInfo.getAppDensityDpi()) {
 displayMetrics.densityDpi = (int) sMatchInfo.getAppDensityDpi();
 }
 if (displayMetrics.scaledDensity != sMatchInfo.getAppScaledDensity()) {
 displayMetrics.scaledDensity = sMatchInfo.getAppScaledDensity();
 }
 } else if (matchUnit == MATCH_UNIT_PT) {
 if (displayMetrics.xdpi != sMatchInfo.getAppXdpi()) {
 displayMetrics.xdpi = sMatchInfo.getAppXdpi();
 }
 }
 }
 }
 public static MatchInfo getMatchInfo() {
 return sMatchInfo;
 }
 /**
 * 使用 dp 作为适配单位(适合在新项目中使用,在老项目中使用会对原来既有的 dp 值产生影响)
 * <br>
 * <ul>
 * dp 与 px 之间的换算:
 * <li> px = density * dp </li>
 * <li> density = dpi / 160 </li>
 * <li> px = dp * (dpi / 160) </li>
 * </ul>
 *
 * @param context 上下文
 * @param designSize 设计图的宽/高(单位: dp)
 * @param base 适配基准
 */
 private static void matchByDP(@NonNull final Context context, final float designSize, int base) {
 final float targetDensity;
 if (base == MATCH_BASE_WIDTH) {
 targetDensity = sMatchInfo.getScreenWidth() * 1f / designSize;
 } else if (base == MATCH_BASE_HEIGHT) {
 targetDensity = sMatchInfo.getScreenHeight() * 1f / designSize;
 } else {
 targetDensity = sMatchInfo.getScreenWidth() * 1f / designSize;
 }
 final int targetDensityDpi = (int) (targetDensity * 160);
 final float targetScaledDensity = targetDensity * (sMatchInfo.getAppScaledDensity() / sMatchInfo.getAppDensity());
 final DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
 displayMetrics.density = targetDensity;
 displayMetrics.densityDpi = targetDensityDpi;
 displayMetrics.scaledDensity = targetScaledDensity;
 }
 /**
 * 使用 pt 作为适配单位(因为 pt 比较冷门,新老项目皆适合使用;也可作为 dp 适配的补充,
 * 在需要同时适配宽度和高度时,使用 pt 来适配 dp 未适配的宽度或高度)
 * <br/>
 * <p> pt 转 px 算法: pt * metrics.xdpi * (1.0f/72) </p>
 *
 * @param context 上下文
 * @param designSize 设计图的宽/高(单位: pt)
 * @param base 适配基准
 */
 private static void matchByPT(@NonNull final Context context, final float designSize, int base) {
 final float targetXdpi;
 if (base == MATCH_BASE_WIDTH) {
 targetXdpi = sMatchInfo.getScreenWidth() * 72f / designSize;
 } else if (base == MATCH_BASE_HEIGHT) {
 targetXdpi = sMatchInfo.getScreenHeight() * 72f / designSize;
 } else {
 targetXdpi = sMatchInfo.getScreenWidth() * 72f / designSize;
 }
 final DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
 displayMetrics.xdpi = targetXdpi;
 }
 /**
 * 适配信息
 */
 private static class MatchInfo {
 private int screenWidth;
 private int screenHeight;
 private float appDensity;
 private float appDensityDpi;
 private float appScaledDensity;
 private float appXdpi;
 int getScreenWidth() {
 return screenWidth;
 }
 void setScreenWidth(int screenWidth) {
 this.screenWidth = screenWidth;
 }
 int getScreenHeight() {
 return screenHeight;
 }
 void setScreenHeight(int screenHeight) {
 this.screenHeight = screenHeight;
 }
 float getAppDensity() {
 return appDensity;
 }
 void setAppDensity(float appDensity) {
 this.appDensity = appDensity;
 }
 float getAppDensityDpi() {
 return appDensityDpi;
 }
 void setAppDensityDpi(float appDensityDpi) {
 this.appDensityDpi = appDensityDpi;
 }
 float getAppScaledDensity() {
 return appScaledDensity;
 }
 void setAppScaledDensity(float appScaledDensity) {
 this.appScaledDensity = appScaledDensity;
 }
 float getAppXdpi() {
 return appXdpi;
 }
 void setAppXdpi(float appXdpi) {
 this.appXdpi = appXdpi;
 }
 }
}

6.2 鸿洋大AutoLayout框架

  • 我记得上上一个公司的项目投资界就是用的这个屏幕适配库……哈哈
  • 该库的想法非常好:对照设计图,使用px编写布局,不影响预览;绘制阶段将对应设计图的px数值计算转换为当前屏幕下适配的大小;为简化接入,inflate时自动将各Layout转换为对应的AutoLayout,从而不需要在所有的xml中更改。但是同时该库也存在以下等问题:
  • 扩展性较差。对于每一种ViewGroup都要对应编写对应的AutoLayout进行扩展,对于各View的每个需要适配的属性都要编写代码进行适配扩展;
  • 在onMeasure阶段进行数值计算。消耗性能,并且这对于非LayoutParams中的属性存在较多不合理之处。比如在onMeasure时对TextView的textSize进行换算并setTextSize,那么玩家在代码中动态设置的textSize都会失效,因为在每次onMesasure时都会重新被AutoLayout重新设置覆盖。
  • issue较多并且作者已不再维护。
  • 个人觉得AutoLayout的设计思想非常优秀,但是将LayoutParams与属性作为切入口在mesure过程中进行转换计算的方案存在效率与扩展性等方面的问题。那么Android计算长度的收口在哪里,能不能在Android计算长度时进行换算呢?如果能在Android计算长度时进行换算,那么就不需要一系列多余的计算以及适配,一切问题就都迎刃而解了

6.3 AndroidAutoSize

  • 已经用于现在正式库,代码量多,且注释也比较项目,作者更新很频繁,极力维护并解决bug,非常不错!

点击右上角蓝色“+关注”,私信回复“福利”有惊喜,领取免费1v1外教课程+20G英语资料新人大礼包。

由于我们国家国土辽阔,天南地北的。所以口味是各有差异的!出去聚餐时,有的小伙伴吃不了辣,有的小伙伴要很辣,有的要普通辣,那它们的英文表达应该怎么说呢?




“不要辣”英语怎么说



在国外的饮食文化中表达“辣”不仅能用spicy,其实也还可以用hot来表达的。现在我就解析一下spicy和hot的区别。


spicy和hot的区别:



hot:热的、辣的。

hot一般是指普通级别的辣,但老外更喜欢用它来表达热而并非是辣度。



spicy:辛辣的、香的。

spicy偏向表达辣的程度,而且它比hot的程度更深、就是辣度更强。并且老外spicy不仅仅用它表示味道辣,也会用它说气味的刺激、辛辣。



A: Could you eat spicy?



B: Yes, medium, please.



辣度词语拓展:

not spicy 不辣的

mild 温和的;轻微的

medium 中等辣的

hot 重辣的

super spicy 超级辣



“奶茶要几分甜”英语怎么说



除了辣椒,有程度其实甜也是有程度的。比如你喝奶茶的时候想要多多甜。你会怎么用英语说出来?


虽然sweet是"甜",但它是不能用在奶茶里的哟,想要表达甜的程度是要用sugar,然后冰的多少程度可以用ice的!

A:How sweet and ice would you like your bubble tea?


B:sugar-free and ice-free,please.



甜度和冰冰度的词语拓展:

regular sugar 全糖

half sugar 半糖

sugar-free 无糖

regular ice 正常冰

easy ice 少冰

ice-free 去冰



“牛排要几分熟”英语怎么说



在国外餐厅吃牛排时,老外服务员一定会问你How would you like your steak?"


他的意思是你下单的牛排要几分熟,不过你却不能说seven,因为老外不是这样表达牛排几分熟的。


正确表达牛排几分熟要这样说:

A: How would you like your steak?


B: medium-rare, please.


表达几分熟是有特定的词汇的,所以请不要说错了。这样老外才不会误会你的意思!


牛排几分熟的词语拓展:

全生 raw

一分熟 rare

三分熟 medium-rare

五分熟 medium

七分熟 medium-well

全熟 well-done



“打包”英语怎么说



必叔相信大家都会有过这种经历,点餐时每样都想吃然后全部都下单了。最后却吃不下把剩下的食物进行打包。


此时你就可以对服务员说:“wrap it up,please.“

A: Hello, could you help me wrap the rest of the food up,please


B: Ok,no problem!


外卖的词语拓展:

take away

to-go




1、【资料大礼包】

关注必克英语头条号,私信发送暗号“英语资料”给小编,即可获得小编精心整理的20G英语学习资料

2、【0元外教课免费领】

私信暗号大惊喜,私信小编“福利“即可0元领取488元的外教课程学习大礼包

(先到先得,限量10份哟!!

01. might 熟义:或许

I sue all my might to open the door. n.力量,权威

302. mind v.当心,注意{熟义:介意;心(思)}

Mind your head!当心!不要碰着头了。

303. minute 熟义:n. 分钟

They held a minute inspection of the grounds. adj.微小的,详细的,仔细而准确的。

Please read through the minutes first. n.会议记录

304. mix 熟义:vt 混合

He mixes very little with his wife's friends. vt.交往,来往

305. monitor n. v.监控(器),(电脑)显示器(熟义:班长)

The Police had monitored all of his phone calls.警察暗中监听了他打的所有电话。

306. no more...than... 比……更不,非常不(勿望文生义)

He is no more fit to be a minister than a schoolboy would be.他根本不适合当部长,连小学生都不如。

307. move v.使感动;提议(熟义:移动)

Even Father was deeply moved.连父亲都感动了。

I move that we accept the proposal.我提议我们接受这个建议。

308.multiply 熟义:v . 乘;繁殖

We can multiply our chances of success. v. 成倍增加;迅速增加

N

309. narrowly adv.差点儿没;仔细地(勿望文生义)

One car went too fast and narrowly missed hitting the other one.一辆车开得太快险些撞到另一辆车

310.come near to 差一点就(勿望文生义)

She came near to killing him.她差点儿置他于死地。

311. nobody n.小人物(熟义:没有人)

“I want to be famous!I am tired of being a nobody,” he said.他说他讨厌做无名小卒。

312.look down one's nose at 看不起(勿望文生义)

The Turners always look down theirnoses at their neighbours.特纳家总看不起邻居。

313. note 熟义:n. 笔记

Learn the notes by heart. n. 台词

I noticed that her hands were dirty. v.注意到

314 novel. 熟义:小说

Job-sharing is still a novel concept and it will take a while for employers to get used to it. adj. 新颖的

O

315. object v.反对(熟义:宾语;物件)

They objected to leaving school and going to work.他们反对辍学去工作。

316. occur v. 被想到(熟义:发生)

It did not occur to me that you would object.我没想到你会反对。

317. be well/ badly off经济状况好/坏(勿望文生义)

He is well off, it appears, and willing to work for nothing.似乎他很富裕,愿意白干。

318. good offices 帮忙,斡旋(勿望文生义)

Through the good offices of a friend, I was able to get a ticket.在朋友的帮助下,我才弄到一票。

319. take office就职(勿望文生义)

She took office at a difficult time.她就职于困难时期。

320. be well on in/into很晚(勿望文生义)

Although it was well on in the evening,we decided to try our luck at fishing again.尽管很晚了,但我们仍决定撒一网碰一下运气。

321.at once同时;既,又(熟义:马上)

Don't all speak at once! One at a time.不要一起讲!一个一个地讲。

She is at once clever and modest.她既聪明又端庄。

322. open 熟义:v.开 adj. 开着;打开的

They left the matter open. adj.(问题,议事等)未解决的

323. operate vi.运转,起作用 vt.经营(熟义:动手术)

The medicine began to operate at once.药立刻开始见效。

324. order v.定购 n.顺序 (熟义:命令) [来源:学|科|网]

Have you ordered your meal?点菜了吗?

325. otherwise 熟义:adv. 否则;要不然

You know what it is about. Why do you pretend otherwise? adv.在其他方面

326. outgoing 熟义:adj. 爱交际的;友好的;外向的

The outgoing president Bush attended the opening ceremony of the Beijing Olympics. adj.将卸任的;将离职的

327. outspoken 熟义:adj. 直率的;坦诚的

She was very outspoken about her wish to be married. adj.直言不讳的

328. outstanding 熟义:adj.优秀的,杰出的

Some of the work is still outstanding. adj.(款项,工作,困难等)未支付的;未完成的;未决的

329. own 熟义:vt. 拥有

He owned the child as his daughter. vt 承认

P

330.pack v.包装;收拾行李;挤满(熟义:包)

You go and pack your things.你去收拾行李吧。

331. paragraph 熟义:n. 段落

There is a paragraph about the accident in the local newspaper. n.报纸上短篇报道

332.park v.停车;放置n.停车场(熟义:公园)

A car park is a place where you may park your car.停车场就是停车的地方。

333.part n.(熟义:零件;角色,部分)

I hope we'll never part.但愿我们永远不分离(v.分手/离;放弃;卖掉)

In order to raise money,he had to part with some of his most treasured possessions.为了筹款,他不得不卖掉一些最珍贵的财产。

334. party 熟义:n. 党派;聚会

The solution is acceptable to both parties. n.契约或争论的双方

335.playa...part in...起……作用(勿望文生义)

The women played an important part in the task.妇女在这次任务中起了重要作用。

336.take part in...参与;起……作用(勿望文生义)

I once took part with him in a debate.我曾经与他进行过辩论。

337.pass v.经过;通过;过去;度过n.传球;通行证;关口(熟义:递给)

You must pass your pass to him at the pass or you can't pass your summer holidays there.在关口你必须把通行证递给他,否则,你无法去那儿度暑假。

I have no idea what passed in my absence. vi.发生,产生

338.bring...to pass vt.使发生(come to pass vi.发生)(勿望文生义)

His wife's death brought a change to pass in his attitude toward religion.他妻子的死使他改变了对宗教的态度。

339.passage n. 通道;走廊;通过(熟义:文章)

The house has an underground passage.房子有地下通道。

340.patient adj.耐心的(熟义:n.病人)

Just be patient.I think you're next.耐心点!下个就是你了。

341.pay (熟义:付款)

He says farming doesn't pay.他说做农活划不来。(vi.合算)

342. peach 熟义:n. 桃子

He has peached me and all the others to save his life. vt.告发 vi. 告密

343.perform v.履行;执行(熟义:表演)

Perform your promise.请说话算数。

The doctor performed the operation.医生做了手术。

344.in person亲自(勿望文生义)

You can complain to the manager in per- son.你可以亲自去向经理投诉。

345.physical 身体的;物质的;自然的(熟义:物理的)

We should help the people with mental or physical disabilities.我们应该帮助那些心理或生理上有缺陷的人。

346.picture n.形象;样子;描绘;美如画v.描绘;想像(熟义:图片)

Can you form a picture in your mind of what I pictured to you?你能想像得出我所描述的东西吗?

347. pick up 熟义:拾起,捡起;偶然发现;弄到手;听到,得到(情报,知识);康复,增加(速度)

Train picked up the timber workers working in the forest farm every day. 用车接人

348.pilot adj.试验性的v.带领(熟义:飞行员)

If the pilot survey goes well,we'll go into full production.如果试产顺利,我们将面推广。

349.place n.职位;地位;(第……)名v.放置;安排职位(熟义:地方)

She found a place in a store.她在商店找到个工作。

350.take place vi. 发生(勿望文生义)

The wedding will take place next week.婚礼将在下周举行。

351.take the place of=take one's place接替(注意与上条的区别)

My brother is ill and I've come to take his place.我哥病了,我来接替他的工作。

352.in place 在本来的地方;适当(勿望文生义)

I hope you left all the books in the library in place.希望你把图书馆的书放在应放置。

353.in place of=instead of而不是(勿望文生义)

We use chopsticks in place of knives and forks.我们用筷子而不用刀叉。

354.in the place of=in one's place处于……的情况;代替

What would you do in my place?如果你处于我的情况,你怎么办?

355.plane n.水平;平面adj.平的(熟义:飞机)

This species has reached a higher plane of development.这一种属已达更高的阶段.

356. plant 熟义:n. 植物;工厂

My parents planted a garden at the foot of the hill. vt.种植,栽种某物

357. platform 熟义:n. 平台;讲台;站台

The platform of the new party attaches great importance to environmental protection. n. 纲领;宣言

358.please v.(使)高兴;愿意(熟义:请)

She does what she pleases.她想做啥就做啥。

359.with pleasure 可以(用于客气的答语中)(熟义:高兴地,高兴得)

“Could you put me up tonight?”“With pleasure.”今晚您能为我提供住宿吗?“没题。”

360.pocket vt.侵吞;赚得(熟义:n.衣袋v.把……放入衣袋)

It's simple---we buy them for $5,sell them for $8,and we pocket the difference.

很简单——我们5美元买进,8美元卖出,我们就赚得了3美元的差价。

361. policy 熟义:n. 政策

He took out a fire insurance policy for his house. n.保险单,保险凭证

362. polish 熟义:vt. 擦亮;磨光

His essay needs polishing. vt.润色

363. pool 熟义:n. 水池;水塘

If we pool the idea,we may find a better solution to the problem. v. 集中使用

364.practically adv.几乎,确实(熟义:实际上,从实际出发)

The hall was practically empty.大厅简直空空如也。

365.practice n.惯例,习俗(熟义:实践;练习)

According to the international practice,he shall be punished.根据国际惯例,他必须受罚。

366. position 熟义:n.位置;职位

What's your position on the problem. n.立场;观点

367. possess 熟义:vt. 拥有

A violent anger possessed him. vt.(感情,情绪等)支配;控制

368. pound 熟义:n. 磅;英镑

No one can stand continuous pounding on the head. n.猛击;连续重击

369.present vt.介绍;赠送(熟义:n.礼物adj.现在的;到场的)

On Teachers'Day,students usually present flowers to the teachers.教师节学生通常给老师献花。

370.press 熟义:v. 压

He pressed her guests to stay a little longer. vt.劝说

371.promise v.有希望;可能会有(熟义:答应)

The dark clouds promise rain.乌云密布,看来要下雨。

372.no problem愿意干;不用谢;没关系(熟义:没困难)

“Could you help me?”“No problem.”“帮我一下好吗?”“当然可以!”

373. previous 熟义:adj. 先前的,以往的

He died previous to my arrival. adj.时间上稍前的

374. produce 熟义:v. 生产

Please produce your ticket for inspection. v. 拿出;出示

375. promise 熟义:v/n 许诺

The dark clouds promise rain. v.有...的希望;使...有可能

376. pronounced 熟义:v.发音

The judge pronounced against her appeal. v.判决;宣布;宣称

377.put away存储;打消;吃掉(熟义:收起来放好)

He puts a little away every week for his grandson.他每周都为孙子存一点钱。

378.put down写下;镇压;让……下车(熟义:放下)

The bus stopped to put down the passengers.公共汽车停下来,让乘客下车。

379.(熟义:张贴,举起,修建)

Could you put me up for the night? put up(留……)住宿

Q

380.out of the question不可能;不允许(勿望文生义)

Without a passport,leaving the country is out of the question.无护照要出国是不可能的。

R

381. race 熟义:vt. 和...比赛 n. 赛跑

Race to see what is happening. v.快速移动;快速运转

382.raise 饲养;种植;引起;招募(熟义:举起,提高)

The farmer raises cows and corn.这个农民又种玉米又养牛。

383. rate 熟义:n. 比率;速度

These potatoes rate among the best. v.对...做出评价;被评价为;被认为

384.rather than而不是,宁愿……也不愿……

Rather than cause trouble,he left.他宁愿离去,也不愿自找麻烦。

385.or rather更确切地(勿望文生义)

He worked till late last night,or rather, early this morning.他一直工作到深夜,或者更确切地说,工作到今天凌晨。

386. raw 熟义:adj 材料未加工的

These fish are often eaten raw. adj.(食物等)生的,未煮的

387.reach v.伸出(手、脚等);与……取得联系(熟义:到达)

I couldn't reach him by phone this morning.早晨我给他打电话打不通。

388. read 熟义:v. 阅读

I didn't read mother's thoughts at that time. v.理解;领会

389.realize实现;换成现款(熟义:认识到)

He realized the house.他卖了房子得到了现钱。

390. receipt 熟义:n. 收据,收条

I will pay the money on receipt of the goods. n.接收,收到

391. recover 熟义:v. 恢复健康,痊愈

He almost fell, but succeeded in recovering himself. v.恢复;重新控制

392.refer to查阅;归功于(熟义:指的是;提到)

The speaker often refers to his notes.发言的人经常看讲稿。

393. reflect 熟义:vt. 映出;反射;表现

I need time to reflect on your offer. v.沉思,思考 (与on/upon 连用)

394. refresh 熟义:vt 使恢复精力

Her words refreshed my memory. vt.提醒,提示,使想起

395.refreshments茶点/饮料(熟义:使感到清新的东西)

The hostess served refreshments after the tennis match.网球比赛后,女主人端来了茶点。

396. relate 熟义:v. 与...有关;相关

I related my adventure to my family. v. 讲述

397. religion 熟义:n. 宗教

Tennis is a religion with John. n.特别的兴趣

398.remain v.(继续)保持;(继续)存在(熟义:剩下)

The door remains closed.门还是关着的。

399.remember(熟义:记得)

Please remember the waiter.(v.记得给小费)记住给服务员小费。

400. remote 熟义:adj. 偏远的,偏僻的

He is a remote relative of mine. adj.关系较远的,远亲的

401. repair 熟义:v/n 修理

How can I repair the damage I have caused? v.补救,弥补

402. rest 熟义:v/n 休息

She rested her head on his shoulder. v. 把...靠在...上

Its success rested on the labour of half a million slaves. v. 依靠,依赖

403. respect 熟义:v/n 尊敬;敬意

He has no respect for the feelings of others. n. 重视;尊重;维护

404.result in引起(注:result from因……而产生)

The accident resulted in three deaths.这起事故导致了三人死亡。

405.return n来回车票(熟义:回来;归还)

Do you want a single or a return?你只买去的车票还是来回车票都买?

406. review 熟义:vt 复习

She reviewed what had happened. vt.回顾

407. round 熟义:prep/adv 环绕,围着;圆形的

We are losing the game in the last round due to our complacency. n. 回合,局;轮,场

408.run v.竞选;运转;管理;用车送;褪色(熟义:跑)

Teach me how to run the business.教我怎样做买卖吧。

A bright idea ran through my mind. v. 快速移动

409.run out(of...)用完(熟义:从……跑出去)

S

410. safe 熟义:adj. 安全的

He is a safe man. You can count on him. adj. 谨慎的,不冒险的

411.the salt of the earth非常正派、诚实的人(勿望文生义)

Your grandmother is the salt of the earth.你祖母是个很诚实的人。

412.at the same time尽管如此;但是(熟义:同时)

It cost a lot of money.At the same time,I think we shall need it and it will certainly be useful.它很贵,但是,我认为我们需要它,它肯定有用。

413.satisfy (熟义:使满意)

The cold water satisfied our thirst.我们喝了凉水就不口渴了。

He satisfied me that he could do the work well.他使我相信他能把这工作做好。

She satisfied her hunger with an apple. v.满足要求或需要

414.save v.节省;储蓄;留给(某人);除了(熟义:挽救)

They are saving for a house.他们在存钱买房子。

Will you save me a seat on the bus?在公共汽车上给我留个座,好吗?

415.You said it!我同意你的意见(勿望文生义)

—Let's go home.咱们回家吧!

—You said it.I'm too tired now.好吧。我也太累了。

416. say 熟义:vt 说

Say that war breaks out, what will you do? vt.假定

Her passport says he is nineteen. vt.(书面材料或可见的东西)提供信息,指示

417.scene 吵架(熟义:风景,场景)

If you don't sit down and stop making a scene,I'm leaving.如果你不坐下来,还要吵的话,我就走了。

418. scholarship 熟义:n. 奖学金

A writer with great scholarship can achieve great success. n.学问,学识;学术成就

419.screen n.纱窗;筛子vt.保护(熟义:屏幕)

The curtain screened out sunlight.帘子遮挡阳光。

420. second 熟义:第二

Mrs. Smith proposed the vote of thanks, and Mr. Jones seconded. v. 随声附和

He raised a proposal that is seconded by few. v.赞成

421.see vt.(在某段时期)发生/经历/经受(熟义:看见)

The next years saw a series of bad harvests.以后几年,收成都不好。

This century has seen too many wars. vt.经历;有...的经验;体验

422.see out(耐着性子)进行到底(熟义:送某人出门)

I don't like the course but I'll see it out.我不喜欢这门课程,但是我还是耐着性子把它学完了。

423.see to处理;负责(做);照顾(勿望文生义)

I'll have to see to the window—the wood is rotten.我得弄一下这窗户———这木头都烂了。

424.seeing conj.既然;考虑到(勿望文生义)

We could have a joint party ,seeing(that)your birthday is the same day as mine.既然你我两人一天生,那么我们就联合起来开个晚会吧。

425. seize 熟义:vt. 抓住;强夺

I couldn't seize the meaning of his remarks. vt.掌握,把握

426.set (熟义:adj.确定的;v.放置;确定;n.一套)

Are you all set for the journey?adj.准备好;可能 (你们都为这次旅行准备好了吗?)

She is having her hair set for the party. v.做头发

427.shall aux.v.(在官方文件中用)表示“规定”(熟义:将)

All payments shall be made by the end of the year.所有帐目务必在年底付清。

428. sharp 熟义:adj. 锋利的,锐利的

I felt a sharp pain in my stomach. adj.剧烈的,猛烈的

429. shoot 熟义:v. 射中,射击

The trees give out new shoots in spring. n.嫩芽,新枝

430.shoot up 迅速增长(勿望文生义)

Your son's really shot up since we last saw him.从我们上次见到他之后,你儿子像射箭一般地长高了许多。

431.a big shot 重要人物(勿望文生义)

His father is a big shot in the steel industry.是钢铁工业部门重要人物。

432. shoulder 熟义:n. 肩膀

Young people should learn to shoulder the duty/blame. vt.承担

433. simply 熟义:adv. 仅仅;只不过

It is simply wonderful to see you! adv.(强调某说法)确实,简直

434. sink 熟义:v. 下沉;沉没

Price are sinking slowly. v.下降,降低

435.somebody pron.有一定地位的人物(熟义:某人)

He is somebody in his town but he is nobody here.在他所在的镇他是个赫赫有名的人物,但在这儿就算不了什么人物了。

436. somehow adv.也不知道是什么原由;不知道怎么搞的(熟义:以某种方式)

Somehow he is afraid of her.不知道是怎么的,他害怕她。

437.something of 可以说是一个(勿望文生义)

He is something of a liar.他不太老实。

438.the life and soul关键人物;中心人物(勿望文生义)

He's such a good joke teller;he is the life and soul of any party.他很会讲笑话,他在任何晚会上都是中心人物。

439. soul 熟义:n. 灵魂

Hardly a soul is seen in the village. n. 人

440.sound adj.(熟义:n.声音;v.听起来)

The bodywork's sound but the engine needs repairing.(机器、身体等)没有毛病的

It is important to have a sound body. adj. 健康的

My wife is a sound sleeper. adj. 酣睡的

441.Spare (熟义:抽出;匀出)

He spared the prisoner.v.饶恕;放过

442.Spring (熟义:春天;泉水;弹簧)

Fast food restaurants are springing up all over the town. v.猛然跳起;涌出 快餐店如雨后春笋般地在全镇不断地涌现出来。

443. stamp 熟义:n. 邮票

He stamped his feet in anger v.跺脚,顿足

444.stand v.忍受;仍然有效;保持原状n.摊位,地摊(熟义:站立)

I can't stand waiting any longer.再等下去我可受不了啦!

The order still stands.命令仍然有效。

As things now stand,we shall win.像这样下去,我们就能赢。

445.stand for 容忍(常用于否定句)(熟义:代表)

The teacher would not stand for such behavior.不能容忍这样的行为。

446.stand up 对……失约(熟义:站起来)

Jane cried when Bill stood her up on their first date.他们第一次约会,比尔就失约,这使得珍妮哭了一场。

447. start 熟义:v. 开始;发动;开创

He started up from his seat. v. 猛然跳起来;突然移动

448.state v.陈述;说明(熟义:州;状态)

They gave him five minutes to state his views.他们给了他五分钟,陈述他的观点。

449.station vt.驻扎(熟义:站,台,所,局)

A PLA unit is now stationed at Hong Kong.人民解放军某部现在驻扎在香港。

450. steal 熟义:v. 偷

He stole a glance of her in the mirror. v.快速或偷偷地取得

451. strength 熟义:n. 力气

Maths is not my strength. 强项

452.strike v.认为;想到;发现(熟义:打击;袭击;罢工)

It struck me that he was not telling the truth.我认为他没有讲真话。

An idea suddenly struck me.我突然想到了个主意。

453.study n.书房(熟义:学习;研究)

He has a beautiful small old wooden study.他的书房小巧玲珑,古色古香,纯木结构。

454.subject adj.(熟义:主题;科目)

The subjects of this experiment were all men aged 18-25.n.(实验中)被试者 这次实验的被试者全是 18-25岁的男性。

These areas are subject to strong winds.可能被……影响 这些地区常受到狂风袭击。

The child is subject to cold. adj.易遭受...的

455. succeed vt.(熟义:成功)

Gingrich will succeed Foley as speaker of the House.金瑞琪将接替夫理当众议院议长

He will succeed Foley as speaker of the House. 继承;接着……当……

Jim has just succeeded a large fortune from his uncle. v. 继承

456. surprise 熟义:v/n 使惊讶,惊奇

Our troops surprised the enemy in the midnight. v.出其不意地袭击或出现

457.suppose =supposing conj.倘若(熟义:猜想;料想)

Suppose it rains,what shall we do?假如下雨,我们怎么办?

458. sympathy 熟义: n. 同情

Annie's sympathies lie firmly with the workers. n.赞同,支持

459. swear to 熟义:v. 宣誓

I would swear to having met him somewhere. =I would swear to it that I had met him somewhere. v. 断言;肯定;保证

T

460.take up 开始学习(某课程);从事(某活动)(熟义:占(时间/空间)

He dropped medicine and took up physics.他弃医从理。

461. team 熟义:n. 队,组

Would you like to team up with us? v.(与某人)一起工作,合作

262.tell v.(熟义:告诉;讲述)

Good teaching will always tell.起作用;产生效果;

He couldn't tell which house it was. vt.判断/区分

She cracked a smile that told her joy. v.显示,显露

463. through 熟义:adj. 彻底的,完全的

She is a very thorough worker. adj.做事深入细致的

464. ticket 熟义:n. 票

The new driver got a ticket for speeding. n.罚单,罚款单

465. tie 熟义:vt. 栓,系

They tied with the visiting team in the game. vi. 打成平手

466.in time 经过一段时间之后;最后(熟义:及时)

Don't worry—I'm sure things will get better in time.不要着急——隔一段时间之后一切都会好的。

467.tip n.点子;主意;劝告;情报(熟义:小费;尖端;梢)

Here is a useful tip on how to deal with online friends.下面给你介绍一条有用的建议,怎样处理网友的问题。

468. touch 熟义:n/v. 接触

I feel a touch of tenderness from mom's words. n. 少许,微量

Vegetables were touched by the frost(霜冻). vt. 害到,伤害

469 . treat 熟义:vt. 对待;处理;治疗

Her son's visit are a great treat for her. n.(难得的)乐事

It's my treat this time. n.请客,款待

470. turn to 找(某人寻求帮助等);求助于(熟义:翻到;转到;变成)

They always turned to me when they were in trouble.当他们遇到麻烦的时候,他们总是来找我。

471.in turn 又反过来(熟义:依次;轮流)

Theory is based on practice and in turn serves practice.理论的基础是实践,又反过来为实践服务。

472. twist 熟义:v. 使弯曲变形

The river twisted toward the sea. v. (道路,河流等)曲折,蜿蜒

473. ravel 熟义:v/n. 旅行

The news traveled fast. v. 以某速度传播

U

474. understand 熟义:vt. 理解

I understand that you are planning to go to Africa. vt. 知悉,了解,据闻

475. uniform 熟义:n. 制服

The boxes are uniform in weight. adj.相同的,一致的

476. undertake 熟义:v. 承担;采取;从事

I can't undertake that you will make a profit. v.承诺;允诺;答应

477.under way 在进行(勿望文生义)

Plans to save the boy are under way.挽救那个男孩的计划正在进行中。

V

478. vain 熟义:adj. 徒劳的,没结果的

She is vain of her beauty. adj. 虚荣的;自视过高的

479. vehicle 熟义:n. 交通工具

We must find out the vehicle of the disease at first. n.媒介;载体

480. vote (熟义:投票)

I vote(that)we go home.v.建议(口语)

W

481. walk 熟义:v/n 行走,步行

This society welcomes people from all walks of life. n.行业

482. wander 熟义:v. 漫游,游荡,漫步

Don't wander from the point. v.离开原处或正道

Her thoughts wandered back to her youth. v.走神;神志恍惚;思想开小差

483.give way 崩溃;让步(勿望文生义)

The thin ice gave way under the skater.薄冰在滑冰者的脚下崩裂了。

484.wear (熟义:穿,戴)

His clothes began to wear.v.磨坏

You'll find this material won't wear.v. 经磨;耐用

485. wear 熟义: vt. 穿戴

The girl always wears a happy smile. vt. 表露

The old man wears a heavy beard. v. 留;蓄

486. weigh 熟义:v. 称...的重量;重达

Please the advantages and disadvantages of doing this. v.权衡;斟酌

487.weight 熟义:n. 重量

How much weight will be attached to his decision? n.分量;重要性

488.well off 有钱;富裕(勿望文生义)

His parents are quite well off;they have just bought him a new car for his birthday.他父母很有钱,他们刚给他买了一辆新车作为他的生日礼物。

489.while conj.只要;既然;虽然 n.一段时间(熟义:当…时候;而)

While there is life ,there is hope.留得青山在,不怕没柴烧。

While she is a likeable girl ,she can be difficult to work with.尽管这姑娘很可爱,但在一起工作却很难配合。

490.will 毅力;遗嘱(熟义:将)

His iron will forced us not to give up.n.意志;意志力

What did it say in the will. n.遗嘱

491. with 熟义: prep. 与..., 以...

With more money I would be able to buy it. prep. 若是

492..work 熟义:n.工作,(书/画/音乐)作品

Yes,I think your plan will work .v.起作用

The young man worked a large farm.vt. 管理

493. workshop 熟义:n. 车间;工场

I attended a educational workshop not long ago. n.讲习班,研讨班

494..work out 得到圆满解决;进行情况(好/……);理解(熟义:算出;制定出)

Things will work out if you have patient.如果你有耐心,事情会得到圆满解决的。

I can't work out the meaning of this poem.我不能理解这首诗的含义。

495. whip 熟义:n. 鞭子 v 抽打,拍打

She whipped it into her pocket. v.突然拿、取、移动(她迅速地把它塞进衣袋

496. wicked 熟义:adj. 邪恶的,恶劣的,缺德的

Dave used to be a wicked child when he was young. adj.淘气的,顽皮的

497. wit 熟义:n. 智力,才智

His remarks if filled with wits. n.风趣,妙语

498. wrap 熟义:n. vt 包,裹

Mind you wrap up well if you go out. n.围巾,披肩 (你出外的话要围好围巾 )

Y

499. yield 熟义:n. 产量,收益 v. 生产,出产

I would rather die than yield. vi. 让步,屈服,投降

500. yard 熟义:n. 院子,庭院;场院

Can you still buy cloth by the yard in Britain? n. 码(1码 = 3英尺 = 36英寸 ≈ 0.914米)