Android控件位置和尺寸信息获取错误,值都为0

在Android开发中,遇到获取ImageView位置时,getLeft(), getRight(), getTop(), getBottom()返回值都是0的问题。原因是尝试获取位置时,ImageView的位置信息还未计算完成。解决方法是使用View.post(Runnable),因为Runnable内的操作会在View被附加到窗口到从窗口分离的过程中执行,这时View的位置信息已经准备就绪。" 121399438,11331147,福禄克测试仪在BICSI标准下规范测试HDBaseT与光纤网络,"['网络', '光纤通信', 'HDBaseT', 'PoE测试', '布线标准']
摘要由CSDN通过智能技术生成

1、问题描述

首先新建一个MainActivity,通过单击按钮进入SecondActivity,然后获取SecondActivity中ImageView的位置时,getLeft() , getRight() , getTop() ,getBottom() 的值都为0,代码如下:

MainActivity.java

public void func(){//跳转到SecondActivity
	Intent intent=new Intent(this,SecondActivity.class);
	startActivity(intent);
}

SecondActivity.java

//无法获取ImageView控件的位置信息
public class SecondActivity extends AppCompatActivity{
	private ImageView imageview;
	
	@Override
	protected void onCreat(Bundle savedInstanceState){
		super.onCreat(savedInstanceState);
		setContentView(R.layout.activity_second);
		Intent intent=getIntent();
		
		imageview=findViewById(R.id.imageview);
		
		int[] location=new int[2];
		imageview.getLocationInWindow(location);
		int left=imageview.getLeft();//错误,四个变量的值都是0
		int right=imageview.getRight();
		int top=imageview.getTop();
		int bottom=imageview.g
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值