Android 加载视图后动态调用函数

Android 加载视图后动态调用函数,android,Android,我是android新手。我的程序有setContentView(R.layout.popup)。xml文件包含一个按钮。我需要按钮的位置。为此,我使用了btn_obj.getX,但它返回0。我想我是在contentView加载之前调用这个方法的。是否有任何函数在加载视图后动态调用我的指令?View具有post(Runnable)方法。您可以检索根布局,在其上发布runnable并检索runnable中的位置 View具有post(Runnable)方法。您可以检索根布局,在其上发布runnabl

我是android新手。我的程序有
setContentView(R.layout.popup)
。xml文件包含一个按钮。我需要按钮的位置。为此,我使用了
btn_obj.getX
,但它返回0。我想我是在contentView加载之前调用这个方法的。是否有任何函数在加载视图后动态调用我的指令?

View
具有
post(Runnable)
方法。您可以检索根布局,在其上发布runnable并检索runnable中的位置

View
具有
post(Runnable)
方法。您可以检索根布局,在其上发布runnable并检索runnable中的位置

View
具有
post(Runnable)
方法。您可以检索根布局,在其上发布runnable并检索runnable中的位置

View
具有
post(Runnable)
方法。您可以检索根布局,在其上发布runnable并检索runnable中的位置

覆盖

覆盖

覆盖

覆盖


我假设您正在活动中调用
Activity.onCreate()
中的
View.getX()
方法。这将始终返回0,因为尚未执行视图的布局。只能在布局后检索图元的视觉信息。
Activity.onStart()
方法保证在活动可见时调用,因此将可视相关代码放在该方法中是实现所需功能的一种方法。

我假设您在活动中调用
Activity.onCreate()
中的
View.getX()
方法。这将始终返回0,因为尚未执行视图的布局。只能在布局后检索图元的视觉信息。
Activity.onStart()
方法保证在活动可见时调用,因此将可视相关代码放在该方法中是实现所需功能的一种方法。

我假设您在活动中调用
Activity.onCreate()
中的
View.getX()
方法。这将始终返回0,因为尚未执行视图的布局。只能在布局后检索图元的视觉信息。
Activity.onStart()
方法保证在活动可见时调用,因此将可视相关代码放在该方法中是实现所需功能的一种方法。

我假设您在活动中调用
Activity.onCreate()
中的
View.getX()
方法。这将始终返回0,因为尚未执行视图的布局。只能在布局后检索图元的视觉信息。
Activity.onStart()
方法保证在活动可见时被调用,因此将可视相关代码放在该方法中是实现所需功能的一种方法。

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    float x = button.getX(); // Here you can get the button X position
}