本文联合两篇博文和自身理解写下

其中一篇:http://blog.csdn.net/hnzcdy/article/details/50628993

另一篇:暂不知原作者

Android中官方建议的屏幕适配方式,通过根据不同的分辨率在工程的res文件夹下建立不同的尺寸文件夹,每个文件夹下都建立dimens.xml文件。然后根据不同的尺寸在dimens.xml文件夹中分别计算配置不同的dp或者sp单位。开发中发现,android屏幕适配需要用到很多的尺寸,每个尺寸都建立dimens.xml问价。每个文件中的数值都要按照比例去计算,一个一个拿着计算器去计算吗?这样太麻烦了。今天有一个好的办法,来为大家介绍一下。

 一、首先我们在工程的res文件夹下,建立不同尺寸的valuse配置文件夹。并在不同的文件夹下建立不同的dimens.xml文件。valuse为默认的工程配置,其余的为根据不同的尺寸适配用户自己新建。(这里以android studio 1.5为示例)



二、 最初在res / values / dimensional.xml中定义的维度的示例自定义(如屏幕边距)用于具有超过820dp可用宽度的屏幕。 这个

将包括在景观中的7“和10”设备(分别〜960dp和〜1280dp)

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android" android:orientation="vertical"

android:layout_width="fill_parent" 

android:layout_height="fill_parent"> 

<TextView 

android:text="@string/test_dimen" 

android:id="@+id/myDimenTextView01" 

android:layout_width="wrap_content" 

android:layout_height="wrap_content" 

android:width="@dimen/text_width" 

android:height="@dimen/text_height" 

android:background="@color/red_bg" /> 

<Button 

android:text="@string/test_dimen1" 

android:id="@+id/Button01" 

android:layout_width="wrap_content" 

android:layout_height="wrap_content">

</Button>  

</LinearLayout>
Java代码:
package yy.android.dimen; import android.app.Activity; import android.content.res.Resources; import android.os.Bundle; import android.widget.Button; import com.amaker.test.R; public class TestDimensionActivity extends Activity { private Button myButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 设置当前Activity的内容布局视图 setContentView(R.layout.test_dimen); // 通过findViewById方法获得Button实例 myButton = (Button)findViewById(R.id.Button01); // 获得Resources 实例 Resources r = getResources(); // 通过getDimension方法获得尺寸值 float btn_h = r.getDimension(R.dimen.btn_height); float btn_w = r.getDimension(R.dimen.btn_width); // 设置按钮的宽 myButton.setHeight((int)btn_h); // 设置按钮的高 myButton.setWidth((int)btn_w); } }

dimens.xml详解的更多相关文章

  1. Web.xml详解(转)

    这篇文章主要是综合网上关于web.xml的一些介绍,希望对大家有所帮助,也欢迎大家一起讨论. ---题记 一.            Web.xml详解: (一)  web.xml加载过程(步骤) 首 ...

  2. Maven-pom.xml详解

    (看的比较累,可以直接看最后面有针对整个pom.xml的注解) pom的作用 pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵 ...

  3. 【maven】 pom.xml详解

    pom.xml详解 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

  4. build.xml详解

    build.xml详解1.<project>标签每个构建文件对应一个项目.<project>标签时构建文件的根标签.它可以有多个内在属性,就如代码中所示,其各个属性的含义分别如 ...

  5. 【转】maven核心,pom.xml详解

    感谢如下博主: http://www.cnblogs.com/qq78292959/p/3711501.html maven核心,pom.xml详解 什么是pom?    pom作为项目对象模型.通过 ...

  6. C#中的Linq to Xml详解

    这篇文章主要介绍了C#中的Linq to Xml详解,本文给出转换步骤以及大量实例,讲解了生成xml.查询并修改xml.监听xml事件.处理xml流等内容,需要的朋友可以参考下 一.生成Xml 为了能 ...

  7. Ant 之bulid.xml详解

    ANT build.xml文件详解(一) Ant的概念 可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道 make这个命令.当编译Linux内核及一些软件的 ...

  8. Tomcat配置(二):tomcat配置文件server.xml详解和部署简介

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  9. Tomcat(二):tomcat配置文件server.xml详解和部署简介

    Tomcat系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务 ...

随机推荐

  1. [Kaggle] dogs-vs-cats之建立模型

    建立神经网络模型,下面要建立的模型如下: (上图来源:训练网络时,打开tensorboard即可观察网络结构,在下一节模型训练的时候会讲到) 下面为具体步骤: Step 0:导入相关库 import ...

  2. Spring-cloud(四)服务发现与消费:ribbon的使用

    说明: ribbon是spring-cloud中作为服务消费者的一种角色,客户端可以通过它来对服务提供者的服务进行消费, 比如本例中是服务提供者注册到注册中心,服务提供者提供了一个服务接口,返回一个h ...

  3. laravel整合JWT遇到的问题及解决方案

    1.在执行 php artisan jwt:secret 生成密钥的时候,报错Method Tymon\JWTAuth\Commands\JWTGenerateCommand::handle() do ...

  4. 各种电脑进入BIOS快捷键

    组装机主板 品牌笔记本 品牌台式机 主板品牌 启动按键 笔记本品牌 启动按键 台式机品牌 启动按键 华硕主板 F8 联想笔记本 F12 联想台式机 F12 技嘉主板 F12 宏基笔记本 F12 惠普台 ...

  5. [Luogu 3768]简单的数学题

    Description 输入一个整数n和一个整数p,你需要求出$(\sum_{i=1}^n\sum_{j=1}^n ijgcd(i,j))~mod~p$,其中gcd(a,b)表示a与b的最大公约数. ...

  6. [LOJ 6249]「CodePlus 2017 11 月赛」汀博尔

    Description 有 n 棵树,初始时每棵树的高度为 H_i,第 i 棵树每月都会长高 A_i.现在有个木料长度总量为 S 的订单,客户要求每块木料的长度不能小于 L,而且木料必须是整棵树(即不 ...

  7. bzoj2535 [Noi2010]航空管制

    Description 世博期间,上海的航空客运量大大超过了平时,随之而来的航空管制也频频发生.最近,小X就因为航空管制,连续两次在机场被延误超过了两小时.对此,小X表示很不满意. 在这次来烟台的路上 ...

  8. ●BZOJ 4310 跳蚤

    ●赘述题目 给出一个字符串,要求分成k个子串,然后求出每个子串的字典序最大的子串(我称它为子子串),要使这k个子子串中的字典序最大的那个串(即魔力串)最小.输出该魔力串. (本题个人感觉很好,比较综合 ...

  9. 【bzoj4571 scoi2016】美味

    题目描述 一家餐厅有 n 道菜,编号 1...n ,大家对第 i 道菜的评价值为 ai(1<=i<=n).有 m 位顾客,第 i 位顾客的期望值为 bi,而他的偏好值为 xi .因此,第 ...

  10. 【NOIP2012-开车旅行】

    这道题:你不仅要学会两人交换开车,还要做到高效驾驶. ·分析:       在拨开花哨题目的迷雾之后,发现两个重要突破口:       ①从每个点开始,他们的路径是一定的,不存在决策选取.       ...