【Android】获取控件的宽和高
来源:互联网 发布:中等收入陷阱 书籍知乎 编辑:程序博客网 时间:2024/06/07 04:04
有时候我们需要在Activity的时候获取控件的宽和高来做一些操作,下面介绍三种获取宽和高的方式:
1. onWindowFocusChanged
?
1
2
3
4
5
6
7
8
9
10
11
12
<code class="hljs java">@Override
public void onWindowFocusChanged(boolean hasFocus)
{
super.onWindowFocusChanged(hasFocus);
if (hasFocus)
{
int width = image.getMeasuredWidth();
int height = image.getMeasuredHeight();
Toast.makeText(MainActivity.this, "width = " + width + "---height = " + height, Toast.LENGTH_SHORT).show();
}
}</code>
2. post方式
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<code class="hljs java"> @Override
protected void onStart()
{
super.onStart();
image.post(new Runnable()
{
@Override
public void run()
{
int width = image.getMeasuredWidth();
int height = image.getMeasuredHeight();
Toast.makeText(MainActivity.this, "onstart--width = " + width + "---height = " + height, Toast.LENGTH_SHORT).show();
}
});
}</code>
3. ViewTreeObserver
?
1
2
3
4
5
6
7
8
9
10
11
12
13
<code class="hljs java"> ViewTreeObserver observer = image.getViewTreeObserver();
observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener()
{
@Override
public void onGlobalLayout()
{
image.getViewTreeObserver().removeGlobalOnLayoutListener(this);
int width = image.getMeasuredWidth();
int height = image.getMeasuredHeight();
Toast.makeText(MainActivity.this, "onglobal--width = " + width + "---height = " + height, Toast.LENGTH_SHORT).show();
}
});</code>
备注:以上image是ImageView控件
ImageView image = (ImageView)findViewById(R.id.image);
- Android 获取Android控件的宽和高
- Android获取Android控件的宽和高
- Android 获取控件的宽和高
- 获取Android控件的宽和高
- 获取Android控件的宽和高
- 获取Android控件的宽和高
- 获取Android控件的宽和高
- 获取Android控件的宽和高
- 获取Android控件的宽和高
- 获取Android控件的宽和高
- 获取Android控件的宽和高
- 获取Android控件的宽和高
- 获取Android控件的宽和高
- 获取Android控件的宽和高
- 获取Android控件的宽和高
- 【Android】获取控件的宽和高
- 【Android】获取控件的宽和高
- 获取Android控件的宽和高
- usaco 2.1.2 frac1
- usaco 2.1.1 castle
- 欣赏,永远是有学习成本的——又读《三体》
- openstack学习笔记(二)-浅谈OpenStack与虚拟机的区别与联系
- KM算法(O(n^4)) HDU2255
- 【Android】获取控件的宽和高
- Mysql学习笔记一
- Servlet3--基于注解的servlet
- 消息队列的使用场景
- 从4行代码看右值引用
- C/C++语言复习一
- 解决easyUI grid标题固定居中的问题
- Mysql学习笔记二
- free()函数