幽沉谢世事,俯默窥唐虞。这篇文章主要讲述Android获取控件的宽和高相关的知识,希望能为你提供帮助。
有时候我们须要在Activity的时候获取控件的宽和高来做一些操作,以下介绍三种获取宽和高的方式:
1. onWindowFocusChanged
@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();
}}
2. post方式
@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();
}
});
}
3. ViewTreeObserver
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();
}
});
备注:以上image是ImageView控件
【Android获取控件的宽和高】ImageView image = (ImageView)findViewById(R.id.image);
推荐阅读
- [Android] 开发第三天
- Android 完美解决bundle实现页面跳转并保留之前数据+传值
- Android隐藏输入法键盘(hideSoftInputFromInputMethod没有效果)
- Android怎样捕获应用的crash信息
- [原]Android 开发第一步
- 盛熙女鞋设计APP图纸
- React使用 create-react-app 快速构建 React 开发环境
- android7.0 编译问题及解决
- java.lang.ClassNotFoundException: org.springframework.context.event.GenericApplicationListener