android getHeight()/getWidth 与 RelativeLayout

标签 android position android-relativelayout

您好,我是 Android 的新手,我正面临这个问题:如何获取放置在相对布局中的 View 的高度/宽度?我尝试了 getHeight() 和 getWidth() 并且都返回了 0。

我需要知道这个 View 是否已经到达布局的末尾,以便我可以将下一个 View 放在它的右边或下面。

或者在不知道当前 View 位置的情况下是否有更好的方法?

编辑: 我使用此代码创建一个 EditText 并将其添加到布局中:

                EditText et1 = new EditText(context);
                RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
                        ViewGroup.LayoutParams.WRAP_CONTENT);
                p.addRule(RelativeLayout.RIGHT_OF,curView.getId());
                et1.setLayoutParams(p);
                et1.setId(loopid++);
                curLayout.addView(et1);
                curView=et1;

然后调用:

            int[] location=new int[2];
            curView.getLocationOnScreen(location);
            Log.d("right:", String.valueOf(location[1]));

它显示一个 0。

最佳答案

您在布局 View 之前调用 getHeight()/getWidth(),因此它返回 0。如果您稍后在生命周期中调用它,它将停止此问题。

关于android getHeight()/getWidth 与 RelativeLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7584957/

相关文章:

Android 休息架构

android - 如何重命名我的 Android 应用程序?

Android:在 RelativeLayout 中将所有 View 以一个 View 居中

android - 防止 Google SupportMapFragment 重新加载

android - 动态获取和设置位置

HTML 位置 :relative

html - CSS - div 对齐到父 div 的底部(内联 block )

android - 以编程方式添加相对于另一个 ImageView 的 ImageView (Android)

java - 检测布局中的第一个按钮

android - Kotlin Coroutine GlobalScope 文档清晰度