मेरे आवेदन के लिए मैं सभी निर्मित मैनिपुलेशन संभावनाओं का उपयोग करना चाहता हूं, जैसे उदा। ज़ूम। लेकिन यदि उपयोगकर्ता स्क्रीन पर 3 अंगुलियों को दबाता है तो मैं एक विशिष्ट यूआई तत्व दिखाना चाहता हूं। तो यह जांचने का सबसे अच्छा तरीका क्या है कि उपयोगकर्ता ने एक ही समय में 3 अंगुलियों को दबाया है और स्क्रीन पर एक-दूसरे के आगे? (अंतर्निर्मित हेरफेर possibilties अक्षम करने के बिना)।स्क्रीन पर 3 अंगुलियों को कैसे रखा गया है, यह जांचने के लिए कि
मेरा पहला दृष्टिकोण टचडाउन ईवेंट को मेरे लेआउट के शीर्ष ग्रिड तत्व पर पंजीकृत करना था। घटना हैंडलर में मुझे संपर्क मिलता है। लेकिन वहां क्या करना है?
बस जांचें कि संपर्क एक फिंगरप्रिंट है, इसे एक सूची में स्टोर करें, और जांच करें कि सूची में पहले से ही दो समान तथ्य हैं या नहीं?
या क्या कोई और सेक्सी समाधान है?
धन्यवाद!
संपादित करें:
जवाब के बाद मैं दो तरीकों लिखा है:
private void OnContactDown(object sender, ContactEventArgs e)
{
if (this.ContactsOver.Count == 3)
{
Console.WriteLine("3 contacts down. Check proximity");
if (areNear(this.ContactsOver))
{
Console.WriteLine("3 fingers down!");
}
}
}
private Boolean areNear(ReadOnlyContactCollection contacts)
{
if (Math.Abs(contacts.ElementAt(0).GetCenterPosition(this).X - contacts.ElementAt(1).GetCenterPosition(this).X) < 100 &&
Math.Abs(contacts.ElementAt(0).GetCenterPosition(this).Y - contacts.ElementAt(1).GetCenterPosition(this).Y) < 100 &&
Math.Abs(contacts.ElementAt(1).GetCenterPosition(this).X - contacts.ElementAt(2).GetCenterPosition(this).X) < 100 &&
Math.Abs(contacts.ElementAt(1).GetCenterPosition(this).Y - contacts.ElementAt(2).GetCenterPosition(this).Y) < 100 &&
Math.Abs(contacts.ElementAt(0).GetCenterPosition(this).X - contacts.ElementAt(2).GetCenterPosition(this).X) < 100 &&
Math.Abs(contacts.ElementAt(0).GetCenterPosition(this).Y - contacts.ElementAt(2).GetCenterPosition(this).Y) < 100)
{
return true;
}
else
{
return false;
}
}
वे फिर से लिखा जाना है, लेकिन यह काम करता है। और दहलीज (एटीएम 100) समायोजित किया जाना है।
अपनी खुद की सूची में 'संपर्क' को संग्रहीत करने से सावधान रहें। 'संपर्क 'या खेतों के उपयोग पर कोई भी कॉल उंगली के बाद एक अपवाद फेंक देगी जिसके कारण' संपर्क 'अब नीचे नहीं आ गया है। – Donnie