开发者社区> 问答> 正文

安卓开发在java文件中每个控件按比例设置大小

各位做开发的大神,有没有人遇到过,在安卓开发的过程中,由于安卓对控件的大小的dp设置的不是非常精确,所以不仅在xml中设置每个控件的长宽,还要在对应的java文件中,对每一个控件都按照当前设备的密度值来按照比例值计算控件显示的长宽大小?就是每个控件都要在java文件中自己手动按照设备密度值做计算,最后按照计算结果显示在设备上?

展开
收起
蛮大人123 2016-06-14 14:30:01 2606 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    1 )界面配置
    根据不同的分辨率,创建手机界面文件
    例子:
    在res下创建 layout-800x480

           layout-480x320

    并在各自不同分辨率的文件夹下创建界面文件
    2)图片配置
    不同的分辨率,界面的长宽比不一致,需要不同规格的图片
    在drawable-hdpi,drawable-ldpi,drawable-mdpi 中放不同分辨率的图片
    注:为了减小整个应用程序安装包大小,选用最高分辨率适配,特殊界面图片特殊处理
    3)动态实现的界面,样式的设定
    不同分辨率,界面的字体大小,字体等需要不同的样式,且需要动态生成的情况下,
    需要把不同分辨率的配置信息保存到应用中。
    例子:
    在RES里创建 values-480x320 values-800x400 value-1280x720
    并在创建的文件夹中分别创建dimens.xml
    30px
    在程序中直接调用R.dimen.Text_size
    int sizeOfText = (int) this.getResources().getDimension(R.dimen.Text_size);
    注:实际应用发现,字体大小适配时
    比如只适配了如下屏幕字体
    values-480x320 values-800x480 value-1280x720
    当出现手机屏幕分辨率为 854x480时会自动找最大字体适配 (value-1280x720)

    2019-07-17 19:37:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载