整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          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米)


          主站蜘蛛池模板: 国产一区二区在线观看app| 韩国资源视频一区二区三区| 日韩福利视频一区| 韩日午夜在线资源一区二区| 一本大道在线无码一区| 亚洲国产精品无码久久一区二区| 天美传媒一区二区三区| 久久久久人妻精品一区二区三区| 国产精品一区二区av不卡| 99国产精品欧美一区二区三区| 免费日本一区二区| 任你躁国产自任一区二区三区| 大香伊蕉日本一区二区| 伦精品一区二区三区视频| 污污内射在线观看一区二区少妇| 一区二区三区四区视频在线| 精品国产一区二区三区www| 一区二区三区高清| 91大神在线精品视频一区| 久久精品亚洲一区二区| 国精品无码一区二区三区在线| 亚洲男人的天堂一区二区| 色一乱一伦一区一直爽| 国产产一区二区三区久久毛片国语| 日本无卡码一区二区三区| 精品无码一区二区三区爱欲九九| 日韩电影一区二区| 久久久91精品国产一区二区| 久久se精品一区二区| 久久久久久免费一区二区三区| 国产av天堂一区二区三区| 波多野结衣免费一区视频| 日本亚洲国产一区二区三区| 久久久久人妻精品一区三寸蜜桃| 一区二区日韩国产精品| 一区二区三区波多野结衣| 一区在线免费观看| 三上悠亚国产精品一区| 日韩精品无码视频一区二区蜜桃| 久久久久人妻一区精品果冻| 精品视频一区二区三区|