易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
软件资源
软件开发
、
小程序制作
、
系统集成与运维
、
空间租用
、
硬件开发
、
视频监控
、
技术咨询与支持
——联系电话:0311-88999002/88999003
首页
/
操作系统
/
Linux
/
Android得到控件在屏幕中的坐标
getLocationOnScreen
,计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标
getLocationInWindow
,计算该视图在它所在的widnow的坐标x,y值,//获取在整个窗口内的绝对坐标 (不是很理解= =、)
getLeft
,
getTop
,
getBottom
,
getRight
,
这一组是获取相对在它父亲里的坐标
如果在Activity的OnCreate()事件输出那些参数,是全为0,要等UI控件都加载完了才能获取到这些。
package
xiaosi.location;
import
Android.app.Activity;
import
android.os.Bundle;
import
android.view.View;
import
android.view.View.OnClickListener;
import
android.widget.Button;
import
android.widget.ImageView;
public
class
LocationActivity
extends
Activity {
/** Called when the activity is first created. */
private
ImageView t =
null
;
private
Button button =
null
;
@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.main);
t = (ImageView)findViewById(R.id.l);
button = (Button)findViewById(R.id.button);
button.setOnClickListener(
new
buttonListener());
}
public
class
buttonListener
implements
OnClickListener{
public
void
onClick(View v)
{
int
[] location =
new
int
[
2
];
t.getLocationOnScreen(location);
int
x = location[
0
];
int
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());
}
}
}
<?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"
/>
<ImageView
android:id=
"@+id/l"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:src=
"@drawable/a"
/>
</LinearLayout>
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图