Android 如何获取一个图片在屏幕的位置
时间: 2024-03-12 13:46:01 浏览: 38
在Android中,可以使用以下方法获取一个图片在屏幕上的位置:
1. 获取图片的宽度和高度:
```
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image);
int width = bitmap.getWidth();
int height = bitmap.getHeight();
```
2. 获取屏幕的宽度和高度:
```
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int screenWidth = displayMetrics.widthPixels;
int screenHeight = displayMetrics.heightPixels;
```
3. 获取图片在ImageView中的位置:
```
ImageView imageView = findViewById(R.id.image_view);
int[] location = new int[2];
imageView.getLocationOnScreen(location);
int x = location[0];
int y = location[1];
```
4. 计算图片在屏幕中的位置:
```
int imageX = x + (imageView.getWidth() - width) / 2;
int imageY = y + (imageView.getHeight() - height) / 2;
```
这样就可以得到图片在屏幕上的位置。需要注意的是,如果图片在屏幕上是被其他控件遮挡的,可能会导致位置计算不准确。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)