美文网首页
Android 创建不同的layout

Android 创建不同的layout

作者: 唔使朙 | 来源:发表于2018-04-28 11:40 被阅读0次


    为了针对不同的屏幕去优化用户体验,我们需要为每一种将要支持的屏幕尺寸创建唯一的XML文件。每一种layout需要保存在相应的资源目录中,目录以-为后缀命名。例如,对大尺寸屏幕(large screens),一个唯一的layout文件应该保存在res/layout-large/中。

    为了匹配合适的屏幕尺寸Android会自动地测量我们自己设置的layout文件。所以不需要因不同的屏幕尺寸去担心UI元素的大小,而应该专注于layout结构对用户体验的影响。

    例如,这个工程包含一个默认layout和一个适配大屏幕的layout:

    Project/

        res/

            layout/

                main.xml

            layout-large/

                main.xml

    layout文件的名字必须完全一样,为了对相应的屏幕尺寸提供最优的UI,文件的内容不同。

    如平常一样在app中简单引用:

    @Override

    protected void onCreate (Bundle savedInstanceState){

            super.onCreate(savedInstanceState);    

             setContentView(R.layout.main);

    }

    系统会根据app所运行的设备屏幕尺寸,在与之对应的layout目录中加载layout。

    另一个例子,这一个工程中有为适配横向屏幕的layout:

    Project/

        res/

            layout/

                main.xml

            layout-land/

                main.xml

    默认的,layout/main.xml文件用作竖屏的layout。

    large和land修饰符

    如果想给横屏提供一个特殊的layout,也适配于大屏幕,那么就要用到 large 和 land 修饰符啦。

    Project/

        res/

            layout/              # default (portrait)

                main.xml

            layout-land/        # landscape

                main.xml

            layout-large/        # large (portrait)

                main.xml

            layout-large-land/  # large landscape

                main.xml

    相关文章

      网友评论

          本文标题:Android 创建不同的layout

          本文链接:https://www.haomeiwen.com/subject/uzfglftx.html