引言:
今天遇到一个问题,在自定义控件的时候,要求在代码中设置控件的宽高。本来自以为:对嘛,很简单,就是直接设置params

     //这样直接初始化的时候设置LayoutParams iconparams=new LayoutParams(size,size);//又或者这样iconparams.height=size;

然后问题就来了,比如你想要一个30dp的高度,就直接size=30,不就ok了????(建议你去试试)
问题:
在下已经试过了,图标太小了,我还以为是手机的问题。没错,就是手机的问题。所谓的dp这个单位与普通的int型变量区别还是蛮大的哦。控件显示在屏幕上的大小与手机像素密度有关,若以sp为单位,则会随像素不同改变控件大小。而dp是独立像素,所以运行在各种手机上都很稳定,故此深受喜爱。
说了这么多,问题所在就是,如何得到我们想要的那个size个dp对应的数值大小。
解决:
查阅了资料(www.百度一下,你就知道.com)才找到解决办法:
1.引入dimen:
dimen是位于value文件夹下的xml文件具有的标签属性,代表尺寸。使用时,先在res/values/下创建xml文件dimens。然后,便可以在里面编写dimen标签,并且定义大小。

<?xml version="1.0" encoding="utf-8"?>
<resources><dimen name="myActionBarSize">44dp</dimen><dimen name="myNavImgSize">150dp</dimen><dimen name="myIconSize">30dp</dimen>
</resources>

2.代码中获取dimens中的值:

int size=getResources().getDimensionPixelSize(R.dimen.myIconSize);

3.然后,然后就没了哦!

安卓代码中获取dp值为控件设置宽高,获取dimen值相关推荐

  1. Android获取UI控件的宽高

    一.概述 我们如果开发一些依赖于UI控件宽高的功能,那么自然会想到调用View的getHeigth()和getWidth()方法,对于新手来说,这里有一个坑,你在Activity中的onCreate( ...

  2. android 动态修改控件的宽高

    今天,简单讲讲android如何动态设置控件的宽高. 这个其实也比较简单,但是之前做的时候出现了问题,代码里设置的宽高是dx,需要先转成dp.下面以RelativeLayout作为例子,简单记录一下. ...

  3. android设置高度比例,Android控件设置宽高比的方法

    0. 困扰很久的问题 Android控件的宽和高保持比例,这是从我接触Android以来,一直不断会遇到的需求.以前,要么就是在代码里直接设置宽和高,要么就是自定义控件.网上也有开源的自定义ViewG ...

  4. js获取asp.net服务器端控件Label,TextBox,RadioButtonList,DropDownList的值

    在做 BS架构的项目时,经常遇到 需要用js 来调用 asp.net 服务器端控件的值. 大多数的 控件他的值都可以通过js调用它的 value属性来获得此控件的值,但是也有例外的情况. 经常用的 L ...

  5. C# winfrom中Flash播放使用axShockwaveFlash控件设置透明XP出现白色背景解决办法,仿QQ魔法表情效果...

    //播放时  图片周围有锯齿白边出现    反锯齿处理暂无解决办法. 如有大神 请给我留言 新Form    AllowDrop True 引用using System.IO; 拖1个Button p ...

  6. 安卓代码中常用的代码以及问题收集

    EnglishVersion ->_->:https://raw.githubusercontent.com/jiang111/awesome-android-tips/master/RE ...

  7. Android中测量控件的宽和高

    前言:在Android开发中,有时候我们需要测量控件的宽和高,而直接调用getHeight(),getWidth(),getMeasureHeight(),getMeasureWidth()方法, 得 ...

  8. 最简单也最难——如何获取到Android控件的高度,获取android控件

    最简单也最难--如何获取到Android控件的高度,获取android控件 问题 如何获取一个控件的长和高,相信很多朋友第一眼看见这个问题都会觉得很简单,直接在onCreate里面调用getWidth ...

  9. android获取该控件在屏幕,android获取屏幕宽高与获取控件宽高(三种方法)

    1.获取屏幕宽高 方法1: int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏幕宽(像素,如:480px ...

最新文章

  1. Throwable是java.lang包中一个专门用来处理异常的类
  2. vagrant学习笔记
  3. python入门指南许半仙txt-影帝的脑子坏了 第23章
  4. 安装 centos7
  5. 【已解决】CMake Error: Cannot determine link language for target “xxx“. CMake Error: CMake can not determ
  6. 转载:DataTable使用技巧总结
  7. 基于框架的应用系统的质量属性
  8. git中文件的三种状态
  9. java apktoo_apktool.jar最新版下载|apktool_2.0.3.jar 官方版_最火软件站
  10. golang实现子网掩码和网络位长度相互转换
  11. 微信直播王者荣耀设置教程(微信教程)
  12. java.lang.IllegalArgumentException: requirement failed: indices should be one-based and in ascending
  13. 初学者如何选入门第一把吉他,这几个防坑避雷小技巧你一定要知道!
  14. Epubor Ultimate for mac(mac电子书转换软件)
  15. 如果你没有读过苏世民的《我的经验与教训》 ,可以看看这篇精华语录: 25条工作和生活原则...
  16. 测试小牛,全新出发!!
  17. Python常用函数总结(按照字母顺序)
  18. android 名片识别 简书,nodejs实现名片识别
  19. 2022-03-15 工作记录--PHP-判断数组的长度 + 展示数组的长度
  20. 浙江电信IPTV+上网 Padavan老毛子固件单线复用

热门文章

  1. 化妆品店有哪些好用的活动方案?
  2. 正则表达式判断是否mac地址 java_使用正则表达式判断字符串是否为MAC地址
  3. 2020-5-13产品经理课程笔记-笔面试技巧
  4. java voliate 关键字
  5. CDbCriteria示范代码之一
  6. Spring--注解回顾
  7. 盗梦空间—ny125
  8. SCOI2014省选总结
  9. 小米股价腰斩的原因找到了,在海外两大市场均受挫
  10. HDLBits刷题合集—9 Arithmetic Circuits