方法如下:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final ImageView imageView = (ImageView) findViewById(R.id.imageview); int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); imageView.measure(w, h); int height =imageView.getMeasuredHeight(); int width =imageView.getMeasuredWidth(); textView.append("\n"+height+","+width); System.out.println("执行完毕.."+System.currentTimeMillis()); } //------------------------------------------------方法一 int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); imageView.measure(w, h); int height =imageView.getMeasuredHeight(); int width =imageView.getMeasuredWidth(); textView.append("\n"+height+","+width); //-----------------------------------------------方法二 ViewTreeObserver vto = imageView.getViewTreeObserver(); vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { public boolean onPreDraw() { int height = imageView.getMeasuredHeight(); int width = imageView.getMeasuredWidth(); textView.append("\n"+height+","+width); return true; } }); //-----------------------------------------------方法三 ViewTreeObserver vto2 = imageView.getViewTreeObserver(); vto2.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { imageView.getViewTreeObserver().removeGlobalOnLayoutListener(this); textView.append("\n\n"+imageView.getHeight()+","+imageView.getWidth()); } });
相关推荐
在`OnCreate`方法中直接尝试获取这些尺寸可能无法得到正确的结果,因为`OnCreate`主要用于初始化数据,并且在视图绘制之前执行。在屏幕渲染的过程中,控件的测量和布局发生在视图树的绘制阶段。 首先,我们来看一下...
在Android开发中,有时我们需要在`onCreate()`方法中获取控件的高度或宽度,以便进行一些自定义布局或计算。然而,`onCreate()`方法在应用程序启动时被调用,主要用于初始化活动的数据,并非用于获取视图的尺寸,...
总结来说,"Android-TrapezoidPartsView-梯形控件"是一个针对Android平台的自定义视图组件,它允许开发者在应用程序中创建和操作梯形形状,同时支持用户交互。这个组件通过自定义绘图和事件处理,为Android界面设计...
在Android开发中,有时我们需要根据特定需求动态地创建和管理UI元素,比如在用户交互时按需生成按钮、文本输入框等控件。这个过程涉及到Android的布局管理、控件的实例化、事件监听以及视图层次结构的构建。下面我们...
- 使用`@BindView(R.id.my_button)`注解,将控件ID与成员变量关联,Butter Knife会在onCreate()方法中自动执行绑定操作。 - 不需要手动调用findViewById(),降低了代码的冗余。 5. **Dagger的使用** - Dagger是...
在Android开发中,XML文件是布局设计的核心,它定义了应用程序界面的各种控件,如按钮、文本框等。为了提高开发效率,开发者通常会避免手动编写这些基础代码,转而使用自动化工具。"获取XML中使用的控件(Version 0.1...
在Android应用开发中,我们经常需要在特定时刻获取UI控件的高度和宽度,例如TextView、Button等。然而,在`OnCreate()`方法中直接调用`getWidth()`和`getHeight()`通常会返回0,因为此时布局尚未完全绘制。为了解决...
在Android开发中,时间日期控件是用户界面中常见的组件,用于让用户选择日期或时间。在本示例中,我们关注的是如何在Android应用中添加并使用这些控件。我们将探讨如何通过添加按钮来触发日期和时间的选择,并将选定...
在Android开发中,自定义控件是实现独特用户界面效果的重要手段。本教程将深入探讨如何创建一个自定义控件,让小球沿着圆周进行运动。这个过程涉及到Canvas绘图、动画处理以及Android帧率控制等多个核心知识点。 ...
在Android开发中,有时我们需要为用户展示一个正在加载或处理数据的状态,这时就需要用到等待控件。"Android动态点点省略号闪烁效果的等待控件"是一种常见的设计,它通过连续显示“...”来表示程序正在进行后台操作...
在Android开发中,为了提供与iOS相似的用户体验,开发者经常需要实现特定的UI控件,例如iOS风格的日历滚轮选择器。这个“Android高仿IOS日历滚轮选择控件”就是一个很好的例子,它旨在复刻iOS日历中常用的日期和时间...
在Android开发中,自定义控件是提升应用用户体验和界面独特性的重要手段。本文将深入探讨如何创建一个自定义的时钟控件,模仿真实时钟的指针运动,为用户提供直观的时间显示。 首先,我们需要了解Android控件的基础...
通过以上介绍,我们可以看到,在Android开发中控制控件的显示与隐藏是非常简单和直观的。无论是通过XML布局文件还是Java/Kotlin代码,都可以轻松实现这一功能。了解这些基础知识对于构建用户友好的界面和提高用户...
在Android开发中,Tab选项卡控件是一种常见的用户界面组件,用于分割并展示大量内容,让用户可以在多个视图之间轻松切换。本教程将详细介绍如何在Android应用中实现一个简单的Tab选项卡控件。 首先,我们需要引入...
在Android开发中,TextView是用于显示文本的基本组件。在某些设计需求中,我们可能需要将TextView的文字或整个组件进行一定角度的倾斜展示,比如45度。本篇将详细讲解如何实现Android TextView的45度倾斜旋转效果。 ...
根据给定的信息,本文将对“Android超豪华的手机控件”进行详细的解析,并通过一个具体的实例——EditText与TextView的互动应用,展示如何利用Android SDK中的控件来实现高效的用户界面设计。 ### Android 超豪华的...
因此,要在子线程中更新主线程的控件,你需要利用Android的消息传递机制,主要是通过`Message`和`Handler`来实现。 首先,理解`Handler`和`Looper`的角色。`Handler`是消息处理器,负责接收和处理来自其他线程的...
本文将详细介绍如何在Android应用程序中使用`ListView`控件,包括其基本概念、工作原理以及如何实现简单的数据绑定。 #### 二、ListView 控件概述 `ListView` 是一种可以滚动显示多个数据项的控件,非常适合用于...