2016-07-09 13 views
6

Io non sono sicuro se questo è domanda comune, non riuscivo a trovare nulla su simile, ma forse io non nomino bene ..Come associare il cassetto di navigazione al pulsante di trascinamento esterno?

Breve spiegazione:

sto cercando da allegare al mio cassetto di navigazione, un (pulsante flottante) pulsante di fuori di esso in modo che il pulsante è visibile anche quando il cassetto è vicino, in modo da trascinare il pulsante si apre il cassetto ..

reale applicazione esempio:

Alcune applicazioni come Waze hanno che:

enter image description here

mio tentativo ..

Quindi, prima di andare ascoltatori tocco folli e di impostazione e sulle derrate fastidiosi, ho cercato di andare semplice prima .. ho cercato pulsante per aggiungere semplicemente all'interno del NavigationView sul file XML ..

Heres mia acivity_main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:clipChildren="false" 
    android:fitsSystemWindows="true" 
    tools:openDrawer="start"> 

    <include 
     layout="@layout/app_bar_main" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     app:headerLayout="@layout/nav_header_main" 
     app:menu="@menu/activity_main_drawer"> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom|end" 
      android:layout_marginEnd="-80dp" 
      android:text="drag me->" /> 

    </android.support.design.widget.NavigationView> 

Ho anche fatto in modo di aggiungere questa riga al genitore:

android:clipChildren="false" 

(in modo che il tasto sarà in grado di attraversare fuori dalle boundries ..)

Ed ecco come si presenta (in anteprima):

enter image description here

su real t test egli è infatti il ​​pulsante sul posizionamento come nella foto, ma se il cassetto è completamente chiuso, il pulsante scompare ..

Se apro il cassetto solo un po 'il tasto viene poi diventa visibile ..

Comunque , il pulsante non risponde al tocco .. Non riesco a chiudere il cassetto trascinando il pulsante ..

Quindi .. cosa posso fare per risolvere questo problema? Sono nemmeno vicino? o dovrei iniziare a maledire alcuni ascoltatori di touch?

Grazie in anticipo!

+0

lo hai implementato. sto cercando la stessa implementazione? –

risposta

0

mettere il pulsante al di fuori della vista di navigazione

button.setOnClikclistener({ 


drawer.closeDrawer(GRAVITY)/drawer.openDrawer(GRAVITY) 
    } 

se si desidera che il pulsante per spostare lungo il bordo del cassetto, si dispone di implementare il comportamento separato per Button utilizzando il layout Coordinatore e stoffe

questo può venire in Handy https://www.bignerdranch.com/blog/customizing-coordinatorlayouts-behavior/

+0

Grazie ma questo non è quello che stavo chiedendo .. aprire il cassetto per click è un compito facile ..Voglio aprirlo gradualmente mentre trascino il pulsante .. proprio come trascinare il bordo aprirà il cassetto insieme al mio dito, ma invece userò il pulsante di cattura come helper .. –

Problemi correlati