Android实现自适应图片和字体显示

1.屏幕大小
在res目录下创建不同的layout文件夹,比如:layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用。
2.字体自适应大小
首先根据不同分辨率获取不同字体大小。 
在RES里创建
values-480x320/strings.xml 里面设置<dimen name="Text_size">30px</dimen>
和 values-800x400/strings.xml 里面设置<dimen name="Text_size">30px</dimen>
分别代表480X320 和 800X400分辨率情况下 字号为30px和40px;
在java文件中这样调用:int sizeOfText = (int) this.getResources().getDimension(R.dimen.Text_size);
3.背景的适配(图片缩放)

   
   
   
   
  1. //背景缩放
  2.          public static final float scalX = view.screenW;//屏宽
  3.     public static final float scalY = view.screenH;//屏高
  4.     //等比例缩放
  5.     public static Bitmap adaptive(Bitmap bitmap) {
  6.         Matrix matrix = new Matrix();
  7.         int width = bitmap.getWidth();// 获取资源位图的宽
  8.         int height = bitmap.getHeight();// 获取资源位图的高
  9.         float w = scalX / bitmap.getWidth();
  10.         float h = scalY / bitmap.getHeight();
  11.         matrix.postScale(w, h);// 获取缩放比例
  12.                     // 根据缩放比例获取新的位图
  13.         Bitmap newbmp = Bitmap.createBitmap(bitmap, 0, 0, width, height,matrix, true);
  14.         return newbmp;  
  15.     }

你可以不用各种分辩率的文件夹,那你就获取屏的宽高呗,然后做判断,用百分比

你可能感兴趣的:(Android实现自适应图片和字体显示)