活动加载后,我在屏幕上尝试我的应用程序格式。问题出现在onCreate()
,onResume()
方法里面我的ImageView
的宽和高= 0。如何在视图重新调整后运行一些代码? 我测试onPostResume()
但它不工作=(Android中在Android中的活动加载后执行代码
-2
A
回答
3
意见没有固定的大小/位置像在黑莓或iPhone;相反,它们是动态奠定了布局发生明显较onCreate/onResume
,理论上可以发生很多。每个视图都有方法onMeasure
和onLayout
这是负责的方法,只有在onLayout
方法返回后,你可以告诉视图的大小和位置,在此之前视图的大小为0,位置为0(正如你已经注意到的那样)
因此,试图获取ImageView的大小onCreate/onResume
是没有意义的,因为onLayout
尚未在该p处被调用oint。
相反,覆盖onLayout
这样做你的东西有:
public class MyImageView extends ImageView {
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
super.onLayout(changed, left, top, right, bottom);
// at this point size and position are known
int h = getHeight();
int w = getWidth();
doSomethingCool(h,w);
}
}
+0
感谢您的回答=) – ChyBy
相关问题
- 1. 显示活动后执行代码
- 2. Android的 - 如何执行代码*后*一个进程中加载
- 3. 执行动态加载的jQuery代码
- 4. Android - 手机进入不同的活动后执行一些代码活动
- 5. 在片段中加载活动代码
- 6. Android:可以后台活动执行代码吗?
- 7. 后代码先在java/android中执行
- 8. 在android中执行活动
- 9. 在角2中执行代码后订阅加载数据
- 10. 在Angular中加载多个资源后执行代码
- 11. iframe加载后在iframe中执行JavaScript代码?
- 12. 在加载UI之前执行代码
- 13. 动态加载jar并在其中执行任意代码
- 14. 启动后在JBoss上执行代码
- 15. 如何在执行代码时运行加载器动画?
- 16. ASP.Net:保持活动代码执行
- 17. Android新活动用户界面仅在代码完成后加载
- 18. 如何在Rails控制台加载后执行代码?
- 19. Google.Apis代码在发布Outlook加载项后不会执行
- 20. 使用JavaScript在页面完全加载后执行代码
- 21. 如何在加载表单后执行代码(Compact Framework 3.5)?
- 22. 如何在表单加载后执行代码?
- 23. 在加载活动之前定义代码中的启动器活动
- 24. 在splashscreen中的Android加载活动
- 25. 开始下载后执行代码
- 26. cursorAdapter加载后执行下一行代码
- 27. 执行整个代码后显示活动屏幕
- 28. getOutputStream后不执行代码 - Android
- 29. 如何为android活动执行代码重用?
- 30. 加载Twitter引导类型的源代码后执行函数
我觉得你的问题是在第15行,你应该添加一个';'。或者,减少口舌:你可能想要发布不起作用的代码(只是一个最小的例子,它显示什么不起作用),然后告诉我们你想要什么,你得到什么等等等等。 – Nanne
不要以为我需要解释代码,fill_parent高度和宽度的imageview有高度= 0和宽度= 0,而活动加载时,我想执行代码时,该项目采取真正的大小.. – ChyBy
我想这么多,这就是为什么我添加了评论。如果你首先同意的话,我猜你会发布代码,对吧?对。对你来说可能很清楚,但我对发生的事情没有快速的了解,所以不能(也不会)帮助。想一想:有什么看法?它是否设置?它是如何设置的?尺寸应该是多少?我们可以在你要求的时候确定尺寸吗?图像是否设置在代码中?什么时候? – Nanne