Domanda

Ho una vista FrameLayout che un controllo (MapView-like) ed alcuni pulsanti aggiuntivi sovrapposte esso contiene. (XML layout è al di sotto).

Voglio permettere all'utente di pan / scorrere la vista principale utilizzando non solo toccare, ma anche la trackball. Il problema è -. Con la trackball appena passa il focus tra tutti i controlli sul layout, e io non riesco a trovare un modo per contenere il onTrackballEvent per solo il MainView

Tutti i suggerimenti sono i benvenuti, grazie in anticipo.

<?xml version="1.0" encoding="utf-8"?>

<merge xmlns:android="http://schemas.android.com/apk/res/android"   
    android:layout_width="fill_parent" android:layout_height="fill_parent">
<FrameLayout android:id="@+id/pageView" 
    xmlns:panel="http://schemas.android.com/apk/res/com.yappa"
      xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">

    <MainView
        android:id="@+id/mainView" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
    </MainView>


    <ZoomControls android:id="@+id/ZoomControls01"
        android:layout_gravity="bottom|center"
        android:layout_height="wrap_content" android:layout_width="wrap_content">
    </ZoomControls>

    <Panel
          ....
    </Panel>

</FrameLayout>

</merge>
È stato utile?

Soluzione

Il trucco è quello di ignorare il dispatchTrackball nella visualizzazione personalizzata, e afferrare gli eventi.

Spero che questo aiuta qualcuno.

Altri suggerimenti

Panning è semplicemente implementato da come accennato prima che la proprietà attivabile, impostare l'attributo attivabile del mapview true e sarà davvero spostare la mappa con la trackball quando si è posto il mapview a fuoco.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top