zoukankan      html  css  js  c++  java
  • Android平板开发

    Android平板开发(一)
    公司准备做一个平板app,只支持平板,之前一直是做手机端app,没有做过平板开发,于是乎,我就查找各种资料,主要用于解决平板的适配问题。
    Android平板是在Android3.0引入的,Android3.2是一个分界线,首先是布局,在Android3.2之前,是定义在res/layout-xlarge文件中,到Android3.2以后,就加入了限定符sw,布局写在res/layout-sw600dp文件夹下。引用官方文档的配置如下

    配置示例
    为帮助您针对不同的设备类型确定某些设计,下面提供了一些 常见的屏幕宽度值:

    320dp:常见手机屏幕(240x320 ldpi、320x480 mdpi、480x800 hdpi 等)。
    480dp:中间平板电脑,例如 Streak (480x800 mdpi)。
    600dp:7 英寸平板电脑 (600x1024 mdpi)。
    720dp:10 英寸平板电脑(720x1280 mdpi、800x1280 mdpi 等)。
    利用表 2 中的尺寸限定符,您的应用可以使用要用于宽度和/或高度的 的任何值,在用于手机和平板电脑>的不同布局资源之间切换。例如, 如果 600dp 是平板电脑布局支持的最小可用宽度,您可以提供以下两 组>布局:

    res/layout/main_activity.xml # For handsets
    res/layout-sw600dp/main_activity.xml # For tablets
    在此情况下,可用屏幕空间的最小宽度必须是 600dp,才可 应用平板电脑布局。

    对于要进一步自定义 UI 以区分不同尺寸 (例如 7 英寸和 10 英寸平板电脑)的其他情况,您可以定义其>他最小宽度布局:

    res/layout/main_activity.xml # For handsets (smaller than 600dp available width)
    res/layout-sw600dp/main_activity.xml # For 7” tablets (600dp wide and bigger)
    res/layout-sw720dp/main_activity.xml # For 10” tablets (720dp wide and bigger)
    请注意,上面两组示例资源使用“最小宽度”限定符 swdp,用于指定屏幕两边的最小值,而不管设备 >当前的方向如何。因此,使用 swdp 是指定 布局可用于整体屏幕尺寸的简便方法,它会忽略屏幕的方>向。

    平板和手机的分界面是6英寸,主流平板尺寸是6英寸和10英寸,而且系统基本都是在Android4.4以上,所以基本不用去适配Android3.2以下的平板了。

    就像我的app,它只支持平板横屏,所以,需要子AndroidManifest文件中配置supports-screens属性
    ,如下:
    <manifest ... >
    <supports-screens android:smallScreens="false"
    android:normalScreens="false"
    android:largeScreens="true"
    android:xlargeScreens="true"
    android:requiresSmallestWidthDp="600" />
    ...
    <application ... >
    ...
    </application>
    </manifest> 
    其余的请查阅官方文档:
    google官方文档
    google支持多种屏幕
    Android平板多屏幕适配
    Android屏幕适配全攻略

    感谢各位看官,平板开发进行中,我会一直记录下平板开发的遇到的问题,如果各位小伙伴有更好的意见,请留言。


    ————————————————
    版权声明:本文为CSDN博主「贤泽」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/wxz1179503422/article/details/73732646

  • 相关阅读:
    Net Core 使用外部登陆提供程序登陆的流程,以及身份认证的流程
    Xamarin开发手机聊天程序
    线上处理数据转载
    Logstash
    Webpack按需加载一切皆模块
    网络编程
    NET Core 事件总线
    Using INSERT IGNORE with MySQL to prevent duplicate key errors
    Spring的两种任务调度Scheduled和Async
    Embedded servlet containers
  • 原文地址:https://www.cnblogs.com/javalinux/p/14550248.html
Copyright © 2011-2022 走看看