Android 获取View高度的几种方法
来源:互联网 发布:法式文胸 知乎 编辑:程序博客网 时间:2024/05/29 09:43
package com.zkl.test;import android.os.Build;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.view.ViewTreeObserver;import android.widget.TextView;public class MainActivity extends AppCompatActivity { private TextView mTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initEvent(); } private void initView() { mTextView = (TextView) findViewById(R.id.mTextView); } private void initEvent() { int height = mTextView.getHeight(); Log.d("Debug","oncreat获取高度:"+height);//获取的高度为0 ,所以不能直接去获取高度 mTextView.post(new Runnable() { @Override public void run() { int height = mTextView.getHeight(); Log.d("Debug","post中获取高度:"+height); } }); mTextView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { if (Build.VERSION.SDK_INT>=16){ mTextView.getViewTreeObserver().removeOnGlobalLayoutListener(this); }else{ mTextView.getViewTreeObserver().removeGlobalOnLayoutListener(this); } int height = mTextView.getHeight(); Log.d("Debug","addOnGlobalLayoutListener中获取高度:"+height); } }); mTextView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { @Override public boolean onPreDraw() { int height = mTextView.getHeight(); mTextView.getViewTreeObserver().removeOnPreDrawListener(this); Log.d("Debug","addOnPreDrawListener中获取高度:"+height); return false; } }); mTextView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { @Override public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { mTextView.removeOnLayoutChangeListener(this); int height = mTextView.getHeight(); Log.d("Debug","addOnLayoutChangeListener中获取高度:"+height); } }); }}
0 0
- Android 获取View高度的几种方法
- 获取View高度的几种方式
- Android--获取View的宽高的几种方法
- Android获取View坐标的几种方法
- android获取view宽高的几种方法 - ysl_longer
- android 获取View的高度
- Android获取View的高度
- Android ViewTreeObserver使用总结及获得View高度的几种方法
- inflate获取view 的几种方法
- Android几种高度获取
- 获取view的高度的方法
- Android获取view高度
- android获取view宽高的几种方法,解决获取高宽为0问题
- Android 获取View绘制前的高度
- Android 获取View的高度和宽度
- Android获取View的宽度和高度
- Android获取View的宽度和高度
- android view滑动的几种方法
- IDEA的调用引用、调用关系图的功能
- redis-cli命令大全
- 全局变量和静态局部变量的异同(待更新)
- Android 记住密码和自动登录界面的实现(SharedPreferences 的用法)
- 移植Linux3.4.2版本内核到mini2440
- Android 获取View高度的几种方法
- 常见的 正则表达式 校验
- linux tomcat
- Android蓝牙浅谈(过滤广播)
- 内核模块编译
- 《数学之美》知识点详细总结
- Python网络编程
- 二分幂,快速幂,矩阵快速幂,快速乘
- CSU