获取组件坐标系

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="button" />

    <TextView
        android:id="@+id/l"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="text"
        android:layout_gravity="center" />

</LinearLayout>

java代码:

package com.example.test1;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    private TextView t = null;
    private Button button = null;
    int x;
    int y;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        t = (TextView)findViewById(R.id.l);
        button = (Button)findViewById(R.id.button);
        button.setOnClickListener(new buttonListener());
    }   
    //获取组件t的坐标
    public class buttonListener implements OnClickListener{

        public void onClick(View v)
        {
            int[] location = new int[2];
            t.getLocationOnScreen(location);
            x = location[0];
            y = location[1];
            System.out.println("x:"+x+"y:"+y);
            System.out.println("图片各个角Left:"+t.getLeft()+"Right:"+t.getRight()+"Top:"+t.getTop()+"Bottom:"+t.getBottom());
        }
    }
}

 

posted @ 2013-12-05 16:12  西北野狼  阅读(188)  评论(0编辑  收藏  举报