android开发教程关于屏幕设计的建议

android开发教程对开发者有益的优化建议

   为不同的屏幕而设计

  1.通常会用ScrollView 和 ListView 轻松搞定

  当我们有一系列不同尺寸的大屏手机时,它们之间最大的不同就是屏幕的高度。因此ScrollViewListView通常可是有效的工作,虽然有时它们并不能完全覆盖全部屏幕。在OpenSignal中的Dashboard标签下我们可以看到所有部件一气呵成,不存在滑动、对于许多高级类型标签中,滑动展示并不见得是一件坏事。如果你能够为你所有的设计匹配到各种屏幕上面去,那么最好不过。否则,这两个控件会让你用最小的开发代价来保证你的软件在大多数屏幕上正常展示。

  2: 使用文件夹. Android 的资源文件夹结构非常强大它允许开发者将不同的图片、字符串、布局文件、外形、颜色这些资源,在api、代码、屏幕尺寸等部分下面是一个例子,展示了在资源文件夹下你可以怎样做:

  在 values-small 文件夹中存放了一个 bools.xml 文件文件中有如下几行代码:123true

  在代码中我可这样引用:123if(getResources().getBoolean(R.bool.small_screen)){getSupportActionBar().hide();}

  在小尺寸设备中boolean值将置为true 我此时将因此ActionBar来节省空间这段代码正是非凡的ActionBarSherlock 扩展库中的一部分,稍后再详细介绍values-sw360dp文件夹中,存放对应屏幕宽于360dp的资源文件。与上面相同的位置,有如下代码123false

  对于大屏幕而言,ActionBar就置为了显示状态.

  我不需要将 bools.xml 文件放入 values-sw400dp文件夹中因为操作系统会自动按相应路径搜索例如一个设备宽 600dp (600/160=3.75 英寸这就是我们通常所说的7片装操作系统会在values-sw600dp 和其包含的的文件夹中搜索 bools.xml 文件若没有找到则搜索 values-sw400dp 文件夹,在搜索 values-sw360dp 文件夹以此类推.

  建议3:160dp = 1英寸。320 dp = 2英寸。dp = dip

  建议4:你可以用这些目录结构技巧来应付所有资源类型**,比如你的XML布局用指定的系统目录名称

  来解决这个问题,如:layout-sw360dp目录可以匹配目标宽是360dp的机器。如果你也要支持横竖屏布局切换的话,可以用如下目录:

  layout-sw360dp-land

  layout-sw360dp-port

  别急,你有一半的用户是说阿拉伯语的?那就将布局名称改为下面的样子吧:

  layout-sw360dp-land

  layout-sw360dp-port

  layout-sw360dp-land-ar

  layout-sw360dp-port-ar

  前两个可以适用于所有语言,-ar代表阿拉伯语。

  建议5:资源规则简介:

  XXX //例子:没有添加目录名:默认-适用于Nexus OneDroid 2,S2

  XXX-sw360dp // 比较大的手机 – Galaxy Nexus, S3, S4

  XXX-sw600dp // 7〃 平板

  XXX-sw720dp // 10” 平板

  在Kindle设备有些不同,如下:

  XXX-large-mdpi // kindle fire 7

  XXX-large-hdpi // kindle fire 7〃 HD

  建议6:如果你不想裁剪所有的布局文件,你可以用dimens.xml文件**。你要是留心我上面的文章,你就会注意到在我的values目录里有很多dimens.xml,这样是因为我更喜欢在一个layout.xml里设置值,在每一个布局文件里我喜欢这样做:12345678910111213 small_margin是在dimen.xml文件里定义的: 4dp

  这个4dp变量在所有dimen文件里。我有个Excel文件,里面创建了所有不同的基于不同因素所需的尺寸定义。也许你会问:为什么不让android OS来处理所有尺寸的问题?为什么不呢,为什么不用一个values目录和一个布局目录来代替所有写死的数值呢?那当然是可以的,如果设置得当,都会得到所有的尺寸,但是对于有些元素看起来就不是那么好计算尺寸了。

  建议7:让空白空间大于图像空间。让图像空间大于按钮的大小。如果将按钮,多选框,切换控件放大后是很丑陋的。一个100dip(0.63")大小的按钮是不想在平板上显示为原来两倍宽度200dip(1.25").原因是屏幕变大了,这不是说平板是给巨人用的。我们可以这样做,在按钮增加的空间和图片扩展的空间里添加空白。

建议8:GraphicalLayout工具快速预览。GraphicalLayoutWYSIWG XML编辑器。我喜欢直接编写元素-而不是拖,丢弃的可见编程方式,但在添加一些元素之后,可以在GraphicalLayout的下拉选择菜单里选择不同屏幕尺寸进行测试。

更多android开发教程的学习,可以咨询天地会。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值