View.getLocationInWindow() only returns Y (and sometimes not even X)

by ClarkBattle » Fri, 29 Jan 2010 06:50:17 GMT

Sponsored Links
 I have an app with the following code using android 2.0.1

int[] loc = new int[2];

Button btn = (Button) findViewById( );
if( btn != null )
    btn.getLocationInWindow( loc);

Log.i("Where?","x=" + where[0] + " y=" + where[1] );

This logs "x=0 y=88" but is in the middle of the screen!

I was experiencing this in android 2.0.1 so I wrote the following test
app in android 2.1 that logs the XY coordinates of a button in the
middle of the screen.

This logs "x=0 and y=0"

public class TestLoc extends Activity
        public void onCreate( Bundle savedInstanceState )
                super.onCreate( savedInstanceState );
                setContentView( R.layout.main );

        public void onStart()

                int[] where = new int[2];
                Button view = (Button) findViewById( );
                if( view != null )
                    view.getLocationInWindow( where );
                    Log.i("Where?","x=" + where[0] + " y=" + where[1] );

<?xml version="1.0" encoding="utf-8"?>
    xmlns:android="" ;
    android:layout_height="wrap_content" >

    <TableRow android:id="@+id/rowOne">
      <Button android:id="@+id/btnOne"/>

    <TableRow android:id="@+id/rowTwo">
      <Button android:id="@+id/btnTwo"/>
      <Button android:id="@+id/btnThree"/>

Wha's up?  Is there a reliable way to get the window coordinates of
any view?

Thanks for reading,


Other Threads

1. Using a PC to Control Android

Is there a way to control the Android HTC from a PC?
I basically want to use my PC screen/keyboard to see/type into my T-
mobile g1 phone.


2. want code

hello please provide me a code 2 play video files in android..i just
want put video files in res/raw folder.. so it need to play that
please help me to write a code of this type..


3. Does Android support Auto-IP functionality? (Zero Configuration Networking)

4. SD card stuck in read-only on non-rooted non-dev phone.

5. Can't take screen capture

6. How to create a "Settings-style" kind of button/layout?

7. Spacing between elements in LinearLayout