Hi All,

I need help in getting coordinates of a view on screen.

I tried to print the view coordinates,they print value as 0.

If i say v.getLeft()  even that print it's value  as 0.

I am not understanding.Please help on this regard.

Here is my code.I am trying to print view values in onStart()

package com.android.table;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.Display;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.RelativeLayout;
import android.graphics.Rect;

public class GameDemo extends Activity {
       public static int idLayout = 1;
       public static int screenheight = 0;
       public static int screenwidth = 0;
       public AddPegHoles adp = new AddPegHoles(this);
       public Hole h;
       public static int holeid = 0;
       Hole[] holeArray = new Hole[3];
       FrameLayout l1,l2,l3,l4,;
       RelativeLayout layout;
       /** Called when the activity is first created. */
       @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
       layout=(RelativeLayout) findViewById(R.id.tableviewback);
       layout.setBackgroundResource(R.drawable.woodenbackground);

       Display display;
       display =
((WindowManager)getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
       screenheight = display.getHeight();
       screenwidth = display.getWidth();

       l1=(FrameLayout)findViewById(R.id.frame1);
       adp.addPegHoles(l1, 1,0);
       createHole(holeid,true,R.id.frame1,1);
       l2=(FrameLayout)findViewById(R.id.frame2);
       adp.addPegHoles(l2, 1, leftpadding+l1.getWidth());
       holeid++;       createHole(holeid,true,R.id.frame2,1);
       l3=(FrameLayout)findViewById(R.id.frame3);
       adp.addPegHoles(l3, 1, leftpadding+l1.getWidth());
       holeid++;       createHole(holeid,true,R.id.frame3,1);


       int  leftpadding=(screenwidth/7);
       int  toppadding=(screenheight/7);

        ViewGroup child=(ViewGroup)layout.getChildAt(0);//frame1
         child.setPadding(45*2, 45, 0, 0);
         child=(ViewGroup)layout.getChildAt(1); // frame2
         child.setPadding(45*3, 45, 0, 0);
         child=(ViewGroup)layout.getChildAt(2); //frame3
          child.setPadding(45*4, 45, 0, 0);

      }

      public void onStart(){
        super.onStart();
        int[] loc=new int[2];
         View v = layout.getChildAt(1);
                 v.getLocationOnScreen(loc);
               System.out.println(loc[0]+loc[1]);
               System.out.println(v.getLeft());
                System.out.println(v.getRight());


              v=(FrameLayout)findViewById(R.id.frame1);
                 v.getLocationOnScreen(loc);
               System.out.println(loc[0]+loc[1]);
               System.out.println(v.getLeft());
                System.out.println(v.getRight());

     }

                   public void createHole(int holeid, boolean filled,
int parent_frame_id,
                int parentrow) {
                h = new Hole(holeid);
                h.setHoleId(R.drawable.hole);
                h.setHoleIndex(0);
                h.setFilled(filled);
                h.setParentFrameId(parent_frame_id);
                h.setParentRow(parentrow);
                h.setMarbleId(R.drawable.marble);
                h.setMarbleIndex(1);
                holeArray[holeid] = h;

        }
}

And I am adding imageviews for frame in AddPegHoles.java looks like
this

package com.android.table;

import android.content.Context;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;

public class AddPegHoles {

        public Context context;
        public static int id=0;

        AddPegHoles(Context c){
                super();
                this.context=c;

        }

        public void addPegHoles(ViewGroup v,int row,int leftpadding){

                ImageView iv1=new ImageView(context);
                iv1.setImageResource(R.drawable.hole);
                ImageView iv11=new ImageView(context);
                iv11.setImageResource(R.drawable.marble);
                id++; v.setId(id);
                v.addView(iv1,0);v.addView(iv11,1);

        }

}






And my AndroidManifest.xml looks like this
<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android";
 android:layout_height="fill_parent"
 android:layout_width="fill_parent"
 android:background="#000044"
 android:id="@+id/tableviewback"
 >

 <FrameLayout android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/frame1"></
FrameLayout>
 <FrameLayout android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/frame2"></
FrameLayout>
 <FrameLayout android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/frame3"></
FrameLayout>

</RelativeLayout>

Thanks
Kavitha
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to