关于屏幕适配

问题一:什么是屏幕适配

   通过对尺寸单位 图片 文字 布局 这4种类型资源源进行合理设计及规划,在布局是合理利用各种类型资源,让布局拥有适应能力,能在各种设备下保持良好的展现效果。

问题二:如何进行屏幕适配

    对于实现屏幕适配我们要从 4个问题入手

   1.如何尺寸单位适配

   2.如何图片适配

   3.如何文字适配

   4.如何布局适配

  对于尺寸单位适配  我们首先要知道屏幕分辨率,屏幕分辨率是指在屏幕上横*纵方向上的像素点数。单位是px,1px=一个像素点,一般以纵向像素*横向像素表示。

关于尺寸单位的适配如下图所示

第一列         dpi         缩放比例
ldpi          120         0.75
mdpi          160         1 
hdpi          240         1.5
xhdpi         320         2
xxhdpi        480         3.0

第一步在Android模式打开项目,之后再res文件夹点击右键选择New 然后选择Directory命名两个为values-960x540和 values-1500x1200的文件夹

第二步切换模式为package模式选择之前命名的文件夹,创建文件为dimens-xml文件(创建之后文件在values中,所以我们剪切到自己创建的文件夹下)之后代码为

<resources>
    <dimen name="app_width">200dp</dimen>
</resources>

至于两个创建文件的区别就是一个为200dp 一个为800dp 其他的一样

第三步 在activity_main_xml代码为

<Button
        android:layout_width="@dimen/app_width"
        android:layout_height="wrap_content"
        android:text="你好" />
至于之后的效果图如下由于不同手机所以展示的效果也不同 效果如下



关于图片适配  我们首先要了解为什么要图片适配

根据不同密度的手机,可以分别设计不同尺寸的图片放置在对应密度的文件夹中,Android系统会根据当前运行的设备密度自动加载对应的文件夹的图片

第一步在package模式中mipmap-hadpi mipmap-mdpi mipmap-xhdpi中添加名字为一样的不用图片

第二步在activity_main_xml代码为

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@mipmap/df"
    tools:context="com.example.zhan.myapplication.MainActivity">

    <Button
        android:layout_width="@dimen/app_width"
        android:layout_height="wrap_content"
        android:text="你好" />

</LinearLayout>

使用不同的模拟器屏幕得出不同的图片如下:

    

这就是图片适配

关于文字适配因为字符串的国际化我们 也要为文字指定 当手机为英文是我们app的文字就要为为英文   其他的语言一样

第一步在package下添加一个为values-en的文件夹,之后将values的strings复制到values-en中代码如下 下面为中文的代码默认的代码

<resources>
    <string name="app_name">My Application</string>
    <string name="title">hello </string>
</resources>


<resources>
    <string name="app_name">My Application</string>
    <string name="title">你好</string>
</resources>


之后的结果为有中英文对比图

最后关于布局适配的步骤

第一步在Andorid下添加一个为layout-land的文件夹

第二步在package中将layout的代码发知道layout-land只要将背景改变一下但是背景图片依然要和竖屏图片放在一个文件夹

代码为

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@mipmap/fgr"
tools:context="com.example.zhan.myapplication.MainActivity">

    <Button
        android:layout_width="@dimen/app_width"
        android:layout_height="wrap_content"
        android:text="@string/title" />

</LinearLayout>

效果图为下面

 

这就是关于屏幕适应的不同方法该如何解决的方法


 



  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值