如何在onCreate方法中获取视图的宽度和高度
2016-05-28 17:21
274 查看
你可以通过视图的getWidth()和getHeight()来获取视图的宽度和高度。
但是,可能会让你失望的是,如果你直接在onCreate方法内调用这两个函数,你会的到0。
为什么呢?
这是因为,当onCreate被调用的时候,视图的内容正在被LayoutInflater来填充xml布局。
这个过程会填充布局,但是暂时不会设置视图的大小。
那么视图到底什么时候获得自己的大小尺寸呢?
实际上是在Layout以后,而layout又是在onCreate调用以后。
那么,如果我们要在onCreate方法中获取视图的大小,应该怎么办呢?
其实,解决方法还是有的,就是利用视图的post方法。
废话不多说,看下代码:
但是,可能会让你失望的是,如果你直接在onCreate方法内调用这两个函数,你会的到0。
为什么呢?
这是因为,当onCreate被调用的时候,视图的内容正在被LayoutInflater来填充xml布局。
这个过程会填充布局,但是暂时不会设置视图的大小。
那么视图到底什么时候获得自己的大小尺寸呢?
实际上是在Layout以后,而layout又是在onCreate调用以后。
那么,如果我们要在onCreate方法中获取视图的大小,应该怎么办呢?
其实,解决方法还是有的,就是利用视图的post方法。
废话不多说,看下代码:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); View view = findViewById(R.id.main_my_view); view.post(new Runnable() { // Get size of view after layout @Override public void run() { Log.d(TAG, "view has width: "+view.getWidth() + " and height: "+view.getHeight()); } }); }
相关文章推荐
- XML标签
- 【原】iOS学习之第三方-AFNetworking1.3.0
- XML是什么,它可以做什么?——写给XML入门者
- 快速学习者的高效学习策略
- ImageView常用属性
- pair的使用
- 期末作业第二周
- centos 截图命令 screenshot
- Google Play services SDK的安装
- dom中的事件
- MySQL 索引详解(并包括了如何分析SQL语句的问题)(强烈推荐)
- SSH连接的时候Host key verification failed
- HDU 1058||Uva 136 丑数
- ImageLoader缓存,清空图片
- linux下crontab定时执行本地脚本和定时访问指定url(亲测有效)
- jQuery+ASP.NET MVC基于CORS实现带cookie的跨域ajax请求
- Dropout 与 DropConnect
- Android Google Maps 开始
- 字符串的排列与组合
- Android完全退出程序,不是返回到上一个Activity