- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在编写一个拖放应用程序,并且因为某些参数而感到非常困惑。
请大家帮忙解答
首先,我阅读了View
类的文档并得到了以下解释。
getX() :此 View 的视觉 x 位置,以像素为单位。
getY() :此 View 的视觉 y 位置,以像素为单位。
getWidth() :返回 View 的宽度。
getHeight() :返回 View 的宽度。
getTop() :此 View 相对于其父 View 的顶部位置。
getLeft() :此 View 相对于其父 View 的左侧位置。
现在我们完成了官方文档,让我们看看我们有什么。
我有一张原始尺寸为 500x500
的图片,名为 circle。
这是我的应用程序的实际屏幕截图
这是布局的xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<ImageView
android:id="@+id/imageView1"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/circle" />
</LinearLayout>
现在我关心的是什么。当我看本地人时,我得到以下信息,这让我很困惑。
我没有发现 getX()
和 getY()
函数有任何问题,因为它们实际上告诉我图像从哪里开始。
如文档所述,getWidth()
和 getHeight
方法返回 View 的宽度和高度,但监 window 口告诉我我的 getWidth( )
和 getHeight
是 300,我真的无法理解,因为在我的 XML 中我将它们分别设置为 100dp,所以这些函数以不同的测量值返回给我,并且我如何将其转换为 dp。
最后,它告诉我 getTop()
和 getLeft
是 700 和 300,正如文档所说,它们是图像相对于它的位置 parent 。但是我的 parent 不是线性布局,那么这些数字在屏幕定位方面意味着什么?
最佳答案
这是对 future 访问者的补充回答。
left
是父 View 左侧到 subview 左侧的距离。同样,top
是父 View 顶部到 subview 顶部的距离。因此,getLeft()
和 getTop()
返回 View 左上角相对于其父 View 的坐标(不是屏幕上的绝对坐标)。X, Y: 通常 getX()
和 getY()
会返回与 getLeft( )
和 getTop()
。然而,有时在布局完成后稍微移动 View 是很有用的。这可以通过 setTranslationX()
和 setTranslationY()
来完成。如果已设置这些,则 x
和 y
将不同于 left
和 top
,其中
x = left + translationX
y = top + translationY
宽度、高度:您可以使用 getWidth()
和 getHeight()
获取 View 的宽度和高度.这不受翻译的影响。
以上数值均为像素尺寸。
关于Android View 的getTop()、getLeft()、getX()、getY()、getWidth()、getHeight()方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30202379/
我有下面的代码,它是在一个函数中定义的,该函数实际上设置父组件的宽度并进行布局...这个函数是从 4 个地方调用的,在一个地方有一个场景出现下面的错误,你可以看到我有检查了未定义,但它仍然在这个 IF
我正在处理 Java JFrame 对象,每当我调用 getWidth() 和 getHeight() 的值时,它都是总是返回超过我使用 setPreferredSize() 函数为面板设置的值。 有
我有一个图像displayStartText和originalStartText这样初始化: Image originalStartText = new ImageIcon(getClass().ge
为什么两个输出都打印84?第一个应显示为 84,第二个应显示为 220。如果我再次单击,则两个输出均显示为 220。 public void btnClick(View v) { System
我有一个算法,可以渲染具有宽度和高度的对象。但是当我使用 setWidth() 时,该对象实际上并没有获得该宽度,它以某种方式获得了我给它的宽度的 x2 之类的东西。检查下面的代码: var
我很难找到为什么这段代码返回空指针: import java.awt.Graphics2D; import java.awt.Rectangle; public class Move { priv
我想在加载后获取位图的宽度,我使用这段代码,其中 mybackground 是一个等于 R.drawable.background 的 int。 background=BitmapFactory.de
我希望通过使用 gamePanel 的 getWidth 方法来定位 Racket ,但它返回 0。它对于框架工作正常,对于面板也有效,但我决定重写大量代码并现在我无法让它工作。感谢帮助:) impo
我知道 Display 方法 getWidth() 自 API 13 以来已被弃用。我有以下代码行: Display display = ((WindowManager) getContext().g
我有一个像这样的 ImageView 我正在尝试通过使用获取在 imageview 中显示的图像的宽度 ImageView artCover = (ImageView)findViewById(R
我想让我的 ImageView 的大小是基于其宽度的矩形,这是通过覆盖 onGlobalLayout() 并放置 photo.getWidth() 完成的。但它只在竖屏下有效,在横屏下无效。 肖像效果
我正在 relativeLayout 中动态创建一些 ImageView,但我需要根据屏幕的高度和宽度改变大小。在我设置高度时,尚未创建 View 和布局,这意味着 getHeight() 和 get
这些方法在动态检索时返回正确的值,例如。在 onCreate() 中,但唯一的异常(exception)是当维度在 xml 布局文件中指定为 undefined 时,像 'wrap content'
我的 android 应用程序可绘制文件夹中有一个 jpg 图像,分辨率为 1000x600。我像这样将该图像加载到位图 Bitmap bitMap = BitmapFactory.decodeRe
本文整理了Java中android.graphics.YuvImage.getWidth()方法的一些代码示例,展示了YuvImage.getWidth()的具体用法。这些代码示例主要来源于Githu
本文整理了Java中am.widget.zxingscanview.ZxingScanView.getWidth()方法的一些代码示例,展示了ZxingScanView.getWidth()的具体用法
所以我想创建一个数轴类,我可以用它来显示沿单个轴的单个点,但我希望它能够响应当前所在容器的大小,并相对于该容器更改其大小。不幸的是,我无法正确使用 getWidth() 和 getHeight() 来
我正在重写 JPanel 的 paintComponent() 方法以在屏幕上绘制一些内容。 这就是它的样子: 我使用以下代码来设置剪切区域。这样边缘就可以弯曲。 RoundRectangle2D r
我需要调用getWidth()在我的 JPanel 对象“gameboard”上并将其存储在变量“width”中。这看起来很简单 int width = gameboard.getWidth(); 但
我通过扩展 LinearLayout 创建了一个自定义 View 。我可以在布局生命周期的哪个第一个点调用 subview 的 getWidth() 并获得正值? 最佳答案 如果在 onResume
我是一名优秀的程序员,十分优秀!