Android OnCreate()中获取控件高度与宽度两种方法详解
Android OnCreate()中获取控件高度与宽度
试过在OnCreate()中获取控件高度与宽度的童鞋都知道,getWidth()与getHeight()方法返回是0,具体原因 看一下Activity的生命周期 就会明白。
上代码:
方法一:
int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); ssidtext.measure(w, h); int width =ssidtext.getMeasuredWidth(); int height =ssidtext.getMeasuredHeight();
方法二:
ViewTreeObserver vto = ssidtext.getViewTreeObserver(); vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { public boolean onPreDraw() { int height = ssidtext.getMeasuredHeight(); int width = ssidtext.getMeasuredWidth(); return true; } });
具体用哪一种可以根据需求自己选择。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
Android onCreate( )方法详细介绍
onCreate( )方法是android应用程序中最常见的方法之一,那么,我们在使用onCreate()方法的时候应该注意哪些问题呢? 先看看Google Android Developers官网上的解释: onCreate(Bundle) is where you initialize your activity. Most importantly, here you will usually call setContentView(int) with a layout resource d
-
Android中oncreate中获得控件高度或宽度的实现方法
Android中oncreate中获得控件高度或宽度的实现方法 onCreate函数只是提供了数据初始化的机会,此时还没有正式绘制图形.在图形尚未渲染的情况下,getWidth()或getHeight()得到的值为0.如果需要自适应屏幕,需要一进入界面就得到父控件大小,然后需要在onCreate中动态设置子控件大小. 方法1: 利用ViewTreeObserver类的addOnPreDrawListener接口. ViewTreeObserver vto = hscrollview.getVie
-
Android编程实现两个Activity相互切换而不使用onCreate()的方法
本文实例讲述了Android编程实现两个Activity相互切换而不使用onCreate()的方法.分享给大家供大家参考,具体如下: 这里要实现的目的是: 有3个Activity: A,B,C,从A中可以进入B,B中可以进入C,并且B和C之间可能需要多次相互切换,因此不能使用普通的startActivity-finish方式,因为重新创建Activity比较耗时.当这个Activity内容比较多时,重复创建很大的影响了流畅性.(即实现类似于QQ上 选择照片页面-选择相册页面,这两个页面可能多次相
-
Android使用onCreateOptionsMenu()创建菜单Menu的方法详解
本文实例讲述了Android使用onCreateOptionsMenu()创建菜单Menu的方法.分享给大家供大家参考,具体如下: Android一共有三种形式的菜单: 1.选项菜单(optinosMenu) 2.上下文菜单(ContextMenu) 3.子菜单(subMenu) 其中最常用的就是选项菜单(optionsMenu), 该菜单在点击 menu 按键 后会在对应的Activity底部显示出来. 1.Activity菜单机制 (与dialog类似) Activity有一套机制来实现对菜
-
Android 解决嵌套Fragment无法接收onCreateOptionsMenu事件的问题
前言 嵌套的二级Fragment无法接收onCreateOptionsMenu事件的问题,设置了setHasOptionsMenu也不管用. 正文 补充说明: 如果通过缓存Fragment手动调用二级Fragment,可能会出现莫名其妙的问题,比如更多Menu不显示. 解决办法: 在一级Fragment中添加Menu,可以在一级onOptionsItemSelected中手动调用二级的此方法来处理相关事件. 示例代码: @Override public void onCreateOptionsM
-
Android onCreateOptionsMenu的使用方法总结
Android onCreateOptionsMenu的使用方法总结 任何一款软件都少不了对"菜单"的使用.在Android下,每一个activity都捆绑了一个Menu,要想定义和使用菜单,都必须在Activity下进行操作,复写onCreateOptionsMenu 和 onOptionsItemSelected这两个方法.举例如下: @Override public boolean onCreateOptionsMenu(Menu menu) { //调用基类的方法,以便调出系统
-
Android在OnCreate中获取控件的宽度和高度的实现代码
在Android中,有时需要对控件进行测量,得到的控件宽度和高度可以用来做一些计算.在需要自适应屏幕的情况下,这种计算就显得特别重要.另一方便,由于需求的原因,希望一进入界面后,就能得到控件的宽度和高度. 可惜的是,根据我的验证,利用网上转载的那些方法在OnCreate函数中获取到的仍然是0(希望搞技术的能自己验证过再转载),例如Measure方法之后调用getMeasuredWidth的值还是0. 原因是因为当OnCreate函数发生时,只是提供了数据初始化的机会,此时还没有正式绘制图形.而绘
-
Android OnCreate()中获取控件高度与宽度两种方法详解
Android OnCreate()中获取控件高度与宽度 试过在OnCreate()中获取控件高度与宽度的童鞋都知道,getWidth()与getHeight()方法返回是0,具体原因 看一下Activity的生命周期 就会明白. 上代码: 方法一: int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0,View.Me
-
Android中获取控件宽高的4种方法集合
借鉴自开发艺术 1.onWindowFocusChanged 这个方法会被调用多次,在View初始化完毕后会调用,当Activity的窗口得到焦点和失去焦点都会被调用一次(Activity继续执行和暂停执行时). @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus) { int width = view.getMeasur
-
Flask中获取小程序Request数据的两种方法
Flask中获取小程序Request数据的两种方法 作为后端屌对于前端确实讳莫如深,JS中的类型Object竟然不能直接通过POST传入到后台Flask中,您会发现获取的是[object Object],这货在Flask中只是个Str,哈哈... 于是,开始寻求解决方案: 方案一,通过GET或者POST传参,将Object转换为Str请求数据: 1.在util.js中定义一个JS函数: function json2Form(json) { var str = []; for (var p in
-
js控制页面控件隐藏显示的两种方法介绍
javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位 方法一: 复制代码 代码如下: document.all["panelsms"].style.visibility="hidden"; document.all["panelsms"].style.visibility="visible"; 方法二: 复制代码 代码如下: document.all["panelsms&
-
python3中获取文件当前绝对路径的两种方法
方法1: import sys print(sys.argv) 得到文件当前绝对路径字符串的一个列表 ['D:/pycharm/PracticeProject/ClientServerNetworking.py'] 方法2: import os print(os.getcwd()) print(os.listdir()) print(os.path.join(os.getcwd(),os.listdir()[1])) D:\pycharm\PracticeProject ['.idea', 'C
-
Python获取网络时间戳的两种方法详解
目录 方法一 代码实现 调用方法 返回结果 方法二 代码实现 调用方法 返回结果 在我们进行注册码的有效期验证时,通常使用获取网络时间的方式来进行比对. 以下为获取网络时间的几种方式. 方法一 需要的时间会比较长,个别电脑上可能会出现不兼容现象 代码实现 def get_web_server_time(self, host_URL, year_str='-', time_str=':'): ''' 获取网络时间,需要的时间会比较长,个别电脑上可能会出现不兼容现象 :param host_URL:
-
在Vue2中注册全局组件的两种方法详解
第一种:在main.js中直接注册 //引入 import FixedTop from '@/components/FixedTop //注册为全局组件 Vue.componet('FixedTop',FixedTop) //页面直接使用 <FixedTop /> 缺点:如果我们需要注册的全局组件非常多,那么需要一个一个引入,然后分别调用Vue.componet方法,main.js文件会变得很大很臃肿,不好维护,所以当需要注册的全局组件非常多的时候可以采用插件的形式注册 第二种:使用插件的形式
-
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
本文实例讲述了Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法.分享给大家供大家参考,具体如下: 相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Message Text Listbox Checkbutton Radiobutton Scale Scrollbar 首发时间:2018-03-04 16:39 Python的GU
随机推荐
- perl中使用signal(信号)实例
- oracle中length、lengthb、substr、substrb函数用法介绍
- PHP-X系列教程之内置函数的使用示例
- 基于jQuery的message插件实现右下角弹出消息框
- CMD下的网络安全配置方法第1/3页
- asp.net(C#)防sql注入组件的实现代码
- Mybatis中#{}和${}传参的区别及#和$的区别小结
- JS解决ie6下png透明的方法实例
- php 使用curl模拟登录人人(校内)网的简单实例
- php类的定义与继承用法实例
- 为Python程序添加图形化界面的教程
- JS实现鼠标移动到缩略图显示大图的图片放大效果
- JavaScript实现垂直向上无缝滚动特效代码
- javascript实现获取浏览器版本、浏览器类型
- 解决MySQL客户端输出窗口显示中文乱码问题的办法
- 有序列表ol漂亮css分页样式代码(纯css)
- jQuery获取table下某一行某一列的值实现代码
- Google韩国首页图标动画效果
- 详解java装饰模式(Decorator Pattern)
- JavaScript 实现鼠标拖动元素实例代码