Hi All,
I am trying to get screen coordinates of a view required for a game.
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 Discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---