English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
هذا المقال يشرح مثالاً على استخدام التعرف على اللمس في Android. أشارككم هذا للمساهمة في التفكير. إليكم التفاصيل كالتالي:
أنا سعيد جداً بوجود ميزة التعرف على اللمس في SDK لـ Android 1.6، وقد كنت أفكر سابقاً كيف يمكن تحقيق هذه الميزة في Android مثل لعب ألعاب NDS باستخدام اللمس (أو بشكل دقيق أكثر، الحركات بالقلم) للتحكم في شخصيات اللعبة؟ بعد الآن، لقد شهدت بعض النور، ولكن لتحقيق التحكم في الشخصيات بالقلم مثل اللمس، هناك العديد من المشاكل الدقيقة التي تحتاج إلى معالجة.
في محاكي Android 1.6 تم تثبيت برنامج يسمى Gestures Builder، هذا البرنامج يسمح لك بإنشاء手势 خاصة بك (يمكن العثور على مصدر Gestures Builder في مجلد sdk/samples إذا كنت مهتمًا بالبحث عنه). سيتم حفظ手势 في مجلد /sdcard/gestures، يمكنك نسخ هذا الملف إلى مجلد /res/raw في مشروعك واستخدامه في مشروعك.手势 في مجلد /res/raw غير قابل للتعديل، مما يعني أنك لا يمكنك تعديل أو إضافة手势، إذا كنت ترغب في التعديل أو الإضافة، يمكنك تحميل ملف gestures من بطاقة SD مباشرة.}
في هذا المثال، أنشأت مثل هذا手势:
الخطوة الثانية: إنشاء GestureOverlayView داخل layout، هذه الواجهة الشفافة تسمح لك برسم手势 عليها، ويمكن وضعها فوق واجهات أخرى:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <android.gesture.GestureOverlayView android:id="@+id/gestures" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1.0" /> </LinearLayout>
الخطوة الثالثة: تحميل Gesture:
mLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures); if (!mLibrary.load()) { finish(); {}
الخطوة الرابعة: إضافة دالة الاستجابة OnGesturePerformedListener:
GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures); gestures.addOnGesturePerformedListener(this);
بمجرد اكتمال هذه الخطوات الأربعة، يمكنك تحقيق نموذج التحقق من ال手势 بسيط:
نتيجة تشغيل البرنامج كما يلي، كتابة حرف 'a'، يتعرف البرنامج عليه، ثم يظهر toast يحتوي على حرف 'a':
الكود الكامل كما يلي:
package com.ray.test; import java.util.ArrayList; import android.app.Activity; import android.gesture.Gesture; import android.gesture.GestureLibraries; import android.gesture.GestureLibrary; import android.gesture.GestureOverlayView; import android.gesture.Prediction; import android.gesture.GestureOverlayView.OnGesturePerformedListener; import android.os.Bundle; import android.widget.Toast; public class TestGesture extends Activity implements OnGesturePerformedListener{ GestureLibrary mLibrary; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures); gestures.addOnGesturePerformedListener(this); mLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures); if (!mLibrary.load()) { finish(); {} {} @Override public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) { ArrayList التنبؤات = mLibrary.recognize(gesture); // We want at least one prediction if (predictions.size() > 0) { Prediction prediction = (Prediction) predictions.get(0); // We want at least some confidence in the result if (prediction.score > 1.0) { // Show the spell Toast.makeText(this, prediction.name, Toast.LENGTH_SHORT).show(); {} {} {} {}
قراء مهتمون بمزيد من المعلومات حول Android يمكنهم الرجوع إلى مواضيع هذا الموقع: 'تجميع تقنيات التشغيل لـ activity في برمجة Android'، 'تجميع تقنيات View في برمجة Android'، 'تجميع تقنيات إدارة قاعدة البيانات SQLite في Android'، 'تجميع تقنيات معالجة بيانات JSON في Android'، 'تجميع تقنيات إدارة قاعدة البيانات في Android'، 'تجميع تقنيات معالجة الملفات في Android'، 'تجميع طرق إدارة بطاقة SD في برمجة Android'، 'دروس الدخول والترقي في برمجة Android'، 'تجميع تقنيات إدارة الموارد في Android'، و 'تجميع تقنيات استخدام التحكمات في Android'.
آمل أن يساعدك ما ذكرته في هذا المقال في تصميم برامج Android.
بيان: محتوى هذا المقال تم جمعه من الإنترنت، وملكه حقوق النشر ينتمي إلى المالك الأصلي، تم جمع المحتوى من قبل المستخدمين على الإنترنت بشكل تلقائي، ويستخدم هذا الموقع حقوق الملكية، لم يتم تعديل المحتوى بشكل يدوي، ولا يتحمل هذا الموقع أي مسؤولية قانونية. إذا وجدت محتوى يشتبه في انتهاك حقوق النسخ، فلا تتردد في إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (عند إرسال البريد الإلكتروني، يرجى استبدال # بـ @) لإبلاغنا، وقدم الدليل على الدليل، إذا تم التحقق من ذلك، سيتم حذف المحتوى المزعوم فورًا.