2014-07-16 4 views
15

Ich erstelle eine Android Wear App mit einem Touchbereich. Der Benutzer soll seinen Finger in alle Richtungen über den Bildschirm bewegen können (Think touchpad auf Ihrem Laptop). Allerdings macht das Zurückwischen das ein bisschen problematisch. Jede Hilfe, um dieses Problem zu umgehen, wäre eine große Hilfe.Wie man den android Wear-Back Swipe deaktiviert?

Wie zum Deaktivieren der Android Wear Back Swipe?

/Jakob

Antwort

24

Es ist ein Attribut in Fensterstil, dieses Verhalten zu deaktivieren:

<style name="AppTheme" parent="@android:style/Theme.DeviceDefault.Light"> 
    <item name="android:windowSwipeToDismiss">false</item> 
</style> 

Sobald Sie es deaktivieren Sie andere Art und Weise zur Verfügung zu stellen haben Ihre Anwendung von verlassen.
Es gibt eine DismissOverlayView Klasse (hier aufgelistet https://developer.android.com/training/wearables/apps/layouts.html#UiLibrary), die Sie stattdessen verwenden sollten.
Grundsätzlich bietet es eine Überlagerung, die einen roten Knopf mit Kreuz nach einem langen Druck zeigt. Wenn Sie auf die rote Schaltfläche klicken, wird Ihre App beendet.
enter image description here

Hier ist ein Video von Google I/O 2014 mit einigen Lesezeichen Momente:
https://www.youtube.com/watch?v=sha_w3_5c2c#t=1390 <-android:windowSwipeToDismiss
https://www.youtube.com/watch?v=sha_w3_5c2c#t=1505 < deaktivieren - Java-Code für DismissOverlayView

können Sie auch schau dir ein anderes Video an:
Vollbild-Apps für Android Wear:
https://www.youtube.com/watch?v=naf_WbtFAlY

+0

Dank wird einen Blick! Das DismissOverlay funktioniert möglicherweise nicht für mich, da ich möglicherweise auch das lange Presseereignis benötige. Aber ich werde einen Weg zu Dismiss hinzufügen. –

+0

Bitte werfen Sie einen Blick auf den Java-Code auf dem Video. Sie verwenden einen GestureDetector und einen OnLongPress() - Callback, um die DismissOverlayView durch Aufrufen der mDismissOverlay.show() -Methode anzuzeigen. Sie können sich eine andere Geste vorstellen und sie auf die gleiche Weise implementieren :) Ich denke, es ist nicht gut, zwei Standardverhalten von bestehenden Apps zu überschreiben, also hoffe ich, dass Ihre Exit-Lösung für den Benutzer offensichtlich ist und nirgendwo versteckt wird. Ich kann nur darauf hinweisen Überdenken Sie die lange Presse wieder einmal, wenn es in Ihrem Fall wirklich notwendig ist :) Grüße! –

+0

Ich denke, ich könnte einen sichtbaren Knopf aus diesem Grund hinzufügen. Aber noch nicht entschieden. Aber ich stimme Ihnen völlig zu, dass es offensichtlich sein muss. Es ist bedauerlich, dass ich möglicherweise beide Standardverhaltensweisen brauche. –

4

Sie können versuchen, AndroidManifest.xml Thema

android zu schreiben: theme = "@ style/Theme.Wearable.Modal innerhalb Aktivitäts-Tag

<activity 
      android:name="com.smart.remote.wear.MainActivity" 
      android:label="@string/app_name" 
      android:theme="@style/Theme.Wearable.Modal"> 
Verwandte Themen