Android - 总结Activity与Fragment打开的时候获取组件的大小
来源:互联网 发布:阿里域名 编辑:程序博客网 时间:2024/06/11 21:54
Activity中获取 组件大小
代码:
@Overridepublic void onWindowFocusChanged(boolean hasFocus) {// TODO Auto-generated method stubsuper.onWindowFocusChanged(hasFocus);Log.d("TAG", "A-button1-->"+button1); Log.d("TAG", "A-width-->"+button1.getWidth());}
方法:在Activity中重写 onWindowFocusChanged()方法,然后直接在方法里面获取view的大小
解释:重写view中的onMeasure()方法可以知道,这个方法是用来计算view的宽度和高度,所以只要重写onMeasure()以 后的方法,然后再那个方法里面获取view的大小就行了。通过测试,一个Activity中,各种方法调用顺序如下:
其调用顺序为Activity.oncreate()→Activity.onResume()→
→TestImageView.onMeasure()→TestImageView.onLayout()→onGlobalLayoutListener()→
→Activity.onWidnowFocusChanged()→.....→
→TextImageView.onDraw()
引用自:http://www.xuebuyuan.com/1587193.html
fragment 中获取组件大小
代码:
Button button1;private int width ; private Handler mHandler;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {mView = inflater.inflate(R.layout.activity_one, null);mHandler = new Handler(){@Overridepublic void handleMessage(Message msg) {// TODO Auto-generated method stubsuper.handleMessage(msg);if(msg.what == 200){width = msg.arg1; Log.i("TAG", "button1-->"+button1); Log.i("TAG", "width-->"+width);}}};return mView;}@Overridepublic void onResume() {// TODO Auto-generated method stubsuper.onResume();initWidget(); ViewTreeObserver vto = button1.getViewTreeObserver(); vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {@Overridepublic void onGlobalLayout() {width = button1.getWidth();Message msg = new Message();msg.what = 200;msg.arg1 = width;mHandler.sendMessage(msg);}}); }
解释:因为在Fragment中没有onWidnowFocusChanged()这样的方法来重写,所以我们只能找别的方式,根据上面的方法调用顺序,可以看到vto.addOnGlobalLayoutListener()这个也在onMeasure()之后,OnGlobalLayoutListener 是
引用自:http://bbs.csdn.net/topics/390672372
0 0
- Android - 总结Activity与Fragment打开的时候获取组件的大小
- Android的Activity获取fragment和fragment的组件
- Android(Activity/Fragment)获取控件的大小
- Android(Activity/Fragment)获取控件的大小
- Android(Activity/Fragment)获取控件的大小
- Android Fragment与Activity之间的数据交换(Fragment从Activity获取数据)
- Android Fragment与Activity之间的数据交换(Fragment从Activity获取数据)
- Fragment获取Activity值的时候拿不到
- Android 关于activity嵌套fragment的时候onactivityresult方法不执行的总结
- 如何在activity和fragment获取控件的大小
- Activity与fragment之间的交互总结
- 在一个组件中调用其他组件的内容||android中怎样在activity中获取fragment中的控件
- android 获取HOME组件的Activity信息
- fragment 中打开摄像头回调的时候,数据总是被 activity 的 onactivityresult 截获
- Android Fragment---与Activity生命周期的协调
- Android Fragment---与Activity生命周期的协调
- Activity与在Android的碎片Fragment
- Android Fragment---与Activity生命周期的协调
- ubuntu下彻底删除软件
- 第六周项目5 友元类
- 图片的本地存取(ROM)
- android PM2.5监控demo开发
- <一>Flex(Flex+j2EE)
- Android - 总结Activity与Fragment打开的时候获取组件的大小
- 【c语言】动态开辟一个二维数组
- 网络编程练习-RAW套接字
- linux常用命令
- html网站模板积累
- 第六周项目三 人数不确定的工资类
- 2015届3i工作室正式成员名单公布
- 深搜基础
- 产品 7 2033 万美元,Pebble Time 众筹创新纪录,可战争才刚刚开始