android - 如果 View 更改其 XY 位置,则在 View 上收听

标签 android android-layout

如果 View 正在移动或它的 XY 位置发生变化,我如何监听 View 以获得它的 XY 坐标? View 不需要被拖动(或通过用户触摸事件),如果方向改变或被显示键盘等插入(向上),它可能会改变。我想知道它改变时更新的 XY 坐标,我怎么能这样做吗?

最佳答案

你可以这样做

final View activityRootView = findViewById(R.id.mainLayout);
        activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(
                new OnGlobalLayoutListener() {

                    @SuppressLint("NewApi")
                    @Override
                    public void onGlobalLayout() {
                        findViewById(R.id.textView).getX();
                        findViewById(R.id.textView).getY();

                    }
                });

希望这对您有所帮助。

关于android - 如果 View 更改其 XY 位置,则在 View 上收听,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20461784/

相关文章:

android - 文本输入布局错误 : Couldn't resolve resource @string/path_password_strike_through

android - float 操作按钮阻挡其他组件

java - Android - 错误 list 合并失败

Android logcat 错误 TundConnector 和 NetlinkEvent

android - http 连接错误 javax.net.ssl.SSLPeerUnverifiedException : No peer certificate

java - 比较两个 ArrayLists,删除匹配的项

android - android中的全文对齐

java - Android 8 位到 16 位负数表示

java - Gradle 构建因 "Error:Execution failed for task ' :app:mergeDebugResources'. > Crunching Cruncher photo.png 失败而失败”

android - 基于 Beaglebone 的 Android(Rowboat)外设?