Android
 Computer >> コンピューター >  >> プログラミング >> Android

Androidでビューの絶対座標を取得するにはどうすればよいですか?


例に入る前に、絶対座標とは何かを知っておく必要があります。これは、ウィンドウマネージャーのビューの絶対位置(x、y)を意味します。この例は、ビューの絶対座標を取得する方法を示しています。

ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します。

ステップ2 −次のコードをres / layout/activity_main.xmlに追加します。

<?xml version = "1.0" encoding = "utf-8"?>
<RelativeLayout
   xmlns:android = "https://schemas.android.com/apk/res/android"
   xmlns:tools = "https://schemas.android.com/tools"
   android:layout_width = "match_parent"
   android:layout_height = "match_parent"
   android:padding = "16dp"
   tools:context = ".MainActivity"
   android:background = "#dde4dd">
   <TextView
      android:id = "@+id/text"
      android:layout_marginLeft = "100dp"
      android:layout_width = "wrap_content"
      android:layout_height = "wrap_content"
      android:text = "Hello World!" />
</RelativeLayout>

上記のxmlでは、1つのTextviewを指定しています。ユーザーがtextviewをクリックすると、Toast上のビューの位置が表示されます。

ステップ3 −次のコードをsrc / MainActivity.java

に追加します
package com.example.andy.myapplication;

import android.graphics.Point;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.TextureView;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
   TextView textView;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      textView = findViewById(R.id.text);
      textView.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            int[] location = new int[2];
            textView.getLocationOnScreen(location);
            Toast.makeText(MainActivity.this,"X axis is "+location[0] +"and Y axis is "+location[1],Toast.LENGTH_LONG).show();
         }
      });
   }
   public static Point getLocationOnScreen(View view) {
      int[] location = new int[2];
      view.getLocationOnScreen(location);
      return new Point(location[0], location[1]);
   }
}

上記のコードでは、ユーザーがtextviewをクリックすると、画面に絶対座標が表示されます。アプリケーションを実行してみましょう。実際のAndroidモバイルデバイスをコンピューターに接続していると思います。 android studioからアプリを実行するには、プロジェクトのアクティビティファイルの1つを開き、ツールバーの[実行]アイコンをクリックします。オプションとしてモバイルデバイスを選択し、デフォルトの画面を表示するモバイルデバイスを確認します-

Androidでビューの絶対座標を取得するにはどうすればよいですか?

上記の結果は初期画面で、ユーザーがテキストビューをクリックすると、以下のような結果が表示されます-

Androidでビューの絶対座標を取得するにはどうすればよいですか?


  1. AndroidエミュレータのIPアドレスを取得するにはどうすればよいですか?

    この例は、AndroidエミュレータのIPアドレスを取得する方法を示しています。 ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します。 ステップ2 −次のコードをres / layout/activity_main.xmlに追加します。 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="https://

  2. Tkinterキャンバスでオブジェクトの座標を取得するにはどうすればよいですか?

    Tkinter Canvas Widgetは、アプリケーションにGUI機能を提供します。シェイプの描画、オブジェクトのアニメーション化、およびキャンバス内の既存のアイテムの構成に使用できます。図形を作成するときは常に、Canvasアイテムコンストラクターで図形のサイズと座標を指定する必要があります。キャンバス上のアイテムの座標を返すために、 coords(item)を使用できます。 方法。キャンバスウィジェット内の形状の座標を含むリストを返します。 例 from tkinter import * #Create an instance of tkinter frame win = Tk() #