{"id":922,"date":"2018-12-29T18:55:33","date_gmt":"2018-12-29T17:55:33","guid":{"rendered":"http:\/\/chezdom.net\/etu\/?page_id=922"},"modified":"2020-01-13T23:49:49","modified_gmt":"2020-01-13T22:49:49","slug":"sujet-9-touchevent","status":"publish","type":"page","link":"https:\/\/chezdom.net\/etu\/android-sujets\/sujet-9-touchevent\/","title":{"rendered":"Sujet #9 &#8211; TouchEvent (Application traces)"},"content":{"rendered":"<p>Il s&rsquo;agit de capturer les \u00e9v\u00e9nements g\u00e9n\u00e9r\u00e9s lorsqu&rsquo;on touche l&rsquo;\u00e9cran. Pour cela on utilise l&rsquo;interface *OnTouchListener\u00a0\u00bb.  Dans un premier temps vous pourrez afficher dans le log la position de l&rsquo;\u00e9v\u00e9nement captur\u00e9, mais l&rsquo;objectif est d&rsquo;afficher un petit disque marquant la position du dernier endroit touch\u00e9 (une <code>trace<\/code>).<\/p>\n<p>Selon l&rsquo;appareil, le syst\u00e8me est capable de reconna\u00eetre un ou plusieurs doigts (a priori jusqu&rsquo;\u00e0 10 sur un Galaxy S8 ou S9). On ne demande d&rsquo;afficher qu&rsquo;un seul doigt !<\/p>\n<p>Docs :<\/p>\n<ul>\n<li><a href=\"https:\/\/developer.android.com\/training\/graphics\/opengl\/touch\">https:\/\/developer.android.com\/training\/graphics\/opengl\/touch<\/a><\/li>\n<li><a href=\"http:\/\/www.vogella.com\/tutorials\/AndroidTouch\/article.html\">http:\/\/www.vogella.com\/tutorials\/AndroidTouch\/article.html<\/a><\/li>\n<\/ul>\n<h2>Application de d\u00e9mo<\/h2>\n<p>Cr\u00e9ez une app de test dans laquelle l&rsquo;utilisateur laisse la trace de son doigt. Il s&rsquo;agit d&rsquo;un simple disque l\u00e0 ou l&rsquo;utilisateur a touch\u00e9 l&rsquo;\u00e9cran. La trace dispara\u00eet lors du toucher suivant. Pour cela on cr\u00e9\u00e9 un widget \u00e0 partir d&rsquo;un <em>View<\/em>, qui sera le <em>listener<\/em> des \u00e9v\u00e9nements <code>touch<\/code> et on utilise la m\u00e9thode <code>onDraw<\/code>.<\/p>\n<p>Il est possible d&rsquo;afficher les derniers points touch\u00e9s (pas seulement un) mais dans ce cas il faut m\u00e9moriser leur position dans un tableau et tous les r\u00e9afficher dans le <code>onDraw<\/code>.<\/p>\n<h2>Pr\u00e9sentation<\/h2>\n<p>Expliquez comment traiter les \u00e9v\u00e9nements de type TouchEvent et comment dessiner sur un widget View.<\/p>\n<p><a href=\"http:\/\/chezdom.net\/etu\/android-sujets-2019-2020\/\">Retour aux sujets<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il s&rsquo;agit de capturer les \u00e9v\u00e9nements g\u00e9n\u00e9r\u00e9s lorsqu&rsquo;on touche l&rsquo;\u00e9cran. Pour cela on utilise l&rsquo;interface *OnTouchListener\u00a0\u00bb. Dans un premier temps vous pourrez afficher dans le log la position de l&rsquo;\u00e9v\u00e9nement captur\u00e9, mais l&rsquo;objectif est d&rsquo;afficher un petit disque marquant la<span class=\"ellipsis\">&hellip;<\/span> <span class=\"read-more\"><a href=\"https:\/\/chezdom.net\/etu\/android-sujets\/sujet-9-touchevent\/\">Lire la suite &#8250;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":903,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"jetpack_post_was_ever_published":false,"footnotes":""},"class_list":["post-922","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P9qu1A-eS","_links":{"self":[{"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/pages\/922","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/comments?post=922"}],"version-history":[{"count":3,"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/pages\/922\/revisions"}],"predecessor-version":[{"id":1140,"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/pages\/922\/revisions\/1140"}],"up":[{"embeddable":true,"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/pages\/903"}],"wp:attachment":[{"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/media?parent=922"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}