![]() |
| Khóa học lập trình viên quốc tế |
Hệ thống Khóa học lập trình Android tạo các sự kiện chạm sau đây bất cứ khi nào nhiều ngón tay chạm vào màn hình cùng một lúc.
| Không. | Sự kiện & mô tả |
|---|---|
| 1 | ACTION_DOWN Đối với con trỏ đầu tiên chạm vào màn hình. Điều này bắt đầu cử chỉ. |
| 2 | ACTION_POINTER_DOWN Đối với con trỏ thêm vào màn hình ngoài đầu tiên. |
| 3 | ACTION_MISE Một sự thay đổi đã xảy ra trong một cử chỉ báo chí. |
| 4 | ACTION_POINTER_UP Gửi khi một con trỏ không chính đi lên. |
| 5 | ACTION_UP Gửi khi con trỏ cuối cùng rời khỏi màn hình. |
public boolean onTouchEvent(MotionEvent ev){ final int actionPeformed = ev.getAction(); switch(actionPeformed){ case MotionEvent.ACTION_DOWN:{ break; } case MotionEvent.ACTION_MOVE:{ break; } return true; } }Trong những trường hợp này, bạn có thể thực hiện bất kỳ phép tính nào bạn muốn. Ví dụ: phóng to, thu nhỏ, v.v ... Để có tọa độ của trục X và Y, bạn có thể gọi phương thức getX () và getY () . Cú pháp của nó được đưa ra dưới đây
final float x = ev.getX(); final float y = ev.getY();Ngoài các phương thức này, còn có các phương thức khác được cung cấp bởi lớp MotionEvent này để xử lý tốt hơn với cảm ứng đa điểm. Các phương pháp này được liệt kê dưới đây
| Không. | Phương pháp & mô tả |
|---|---|
| 1 | getAction () Phương thức này trả về loại hành động đang được thực hiện |
| 2 | getPressure () Phương pháp này trả về áp lực hiện tại của sự kiện này cho chỉ mục đầu tiên |
| 3 | getRawX () Phương thức này trả về tọa độ X thô ban đầu của sự kiện này |
| 4 | getRawY () Phương thức này trả về tọa độ Y thô ban đầu của sự kiện này |
| 5 | lấy kích thước () Phương thức này trả về kích thước cho chỉ mục con trỏ đầu tiên |
| 6 | getSource () Phương pháp này lấy nguồn của sự kiện |
| 7 | getXPrecision () Phương pháp này trả về độ chính xác của tọa độ X được báo cáo |
| số 8 | getYPrecision () Phương pháp này trả về độ chính xác của tọa độ Y được báo cáo |
Để thử nghiệm với ví dụ này, bạn cần chạy nó trên một thiết bị thực tế.
| Các bước | Sự miêu tả |
|---|---|
| 1 | Bạn sẽ sử dụng studio android để tạo một ứng dụng Android theo gói com.example.sairamkrishna.myapplication. |
| 2 | Sửa đổi tệp src / MainActivity.java để thêm mã cảm ứng đa điểm. |
| 3 | Sửa đổi res / layout / Activity_main để thêm các thành phần XML tương ứng. |
| 4 | Chạy ứng dụng và chọn một thiết bị Android đang chạy và cài đặt ứng dụng trên đó và xác minh kết quả. |
package com.example.sairamkrishna.myapplication; import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends Activity { float xAxis = 0f; float yAxis = 0f; float lastXAxis = 0f; float lastYAxis = 0f; EditText ed1, ed2, ed3, ed4; TextView tv1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ed1 = (EditText) findViewById(R.id.editText); ed2 = (EditText) findViewById(R.id.editText2); ed3 = (EditText) findViewById(R.id.editText3); ed4 = (EditText) findViewById(R.id.editText4); tv1=(TextView)findViewById(R.id.textView2); tv1.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { final int actionPeformed = event.getAction(); switch(actionPeformed){ case MotionEvent.ACTION_DOWN:{ final float x = event.getX(); final float y = event.getY(); lastXAxis = x; lastYAxis = y; ed1.setText(Float.toString(lastXAxis)); ed2.setText(Float.toString(lastYAxis)); break; } case MotionEvent.ACTION_MOVE:{ final float x = event.getX(); final float y = event.getY(); final float dx = x - lastXAxis; final float dy = y - lastYAxis; xAxis += dx; yAxis += dy; ed3.setText(Float.toString(xAxis)); ed4.setText(Float.toString(yAxis)); break; } } return true; } }); } }Sau đây là nội dung được sửa đổi của xml res / layout / Activity_main.xml.
Trong mã dưới đây abc chỉ ra logo của tutspoint.com
Sau đây là nội dung của res / value / string.xml .
<resources> <string name="app_name">My Application</string> </resources>Sau đây là nội dung của tệp AndroidManifest.xml .
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.sairamkrishna.myapplication" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>Hãy thử chạy ứng dụng của bạn. Tôi giả sử bạn đã kết nối thiết bị Khóa học lập trình Android Mobile thực tế của mình với máy tính.
Để chạy ứng dụng từ studio android, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng Run từ thanh công cụ. Trước khi bắt đầu ứng dụng của bạn, studio Android sẽ hiển thị cửa sổ sau để chọn tùy chọn nơi bạn muốn chạy ứng dụng Android của mình.
Chọn thiết bị di động của bạn làm tùy chọn và sau đó kiểm tra thiết bị di động của bạn sẽ hiển thị màn hình mặc định của bạn
Theo mặc định, bạn sẽ không thấy gì trong bất kỳ lĩnh vực nào. Bây giờ chỉ cần nhấn vào khu vực Touch here và xem một số dữ liệu trong các trường. Nó được hiển thị dưới đây
Bạn sẽ thấy dữ liệu trong trường Di chuyển là 0, vì chỉ một cử chỉ chạm duy nhất đã được thực hiện. Bây giờ chạm vào màn hình và bắt đầu kéo ngón tay của bạn. Bạn sẽ thấy sự thay đổi trong dữ liệu của trường di chuyển. Nó được hiển thị dưới đây.

Không có nhận xét nào:
Đăng nhận xét