Sabato 7 novembre 2026
L’edizione di oggi
Millebit
AI · Software · QA
Il segnale, non il rumore.

Gli articoli di Millebit sono scritti con l’intelligenza artificiale a partire da fonti citate in ogni pezzo. Come lavoriamo

Sviluppo software

StareBrain ora permette di riposizionare l'overlay e salva la posizione dopo il drag

Testo scritto con l’intelligenza artificiale a partire da una fonte citata, senza revisione umana prima della pubblicazione.

L'overlay mobile si sposta con il tocco, registra la destinazione solo alla fine del trascinamento e riapre dove l'utente l'ha lasciato.

Illustrazione generata con l’intelligenza artificiale

Nei test l’overlay di StareBrain copriva elementi dell’interfaccia. Ora si sposta con un trascinamento e torna dove l’utente l’ha lasciato alla riapertura1.

La novità interviene sull’OverlayView, la view che disegna il layer fluttuante. Il codice registra il tocco iniziale, aggiorna la posizione durante il movimento e salva le coordinate solo al rilascio1. ACTION_DOWN memorizza x e y correnti, ACTION_MOVE calcola lo scostamento e chiama updateViewLayout, ACTION_UP segnala l’aggiornamento tramite onPositionChanged1. La persistenza non avviene su ogni pixel. Gli autori evitano di stressare lo storage e differiscono la scrittura alla fine del gesto1.

Il comportamento distingue il drag dal tap. Un tocco breve che non sposta la view resta un’azione di click, utile per espandere o confermare. La separazione usa una soglia di 10 pixel: sotto 10 si chiama performClick, oltre 10 si tratta l’input come drag e si persistono le nuove coordinate1. La verifica avviene su ACTION_UP, con la distanza euclidea tra il punto iniziale e quello finale.

La posizione si salva in SessionMemory insieme ad altri dati comportamentali. I valori sono una coppia x,y. L’implementazione usa SharedPreferences con due chiavi esplicite, overlay_x e overlay_y. Se manca una posizione precedente, i default sono x uguale a 16 e y uguale a 1201. Il metodo saveOverlayPosition scrive i due interi con apply, mentre loadOverlayPosition li legge e costruisce un oggetto dedicato.

Il ripristino avviene prima di mostrare la view. OverlayManager.show carica la posizione salvata e la inserisce in WindowManager.LayoutParams. La gravità cambia: TOP con START, non END. Con coordinate assolute serve un ancoraggio fisso. START evita l’effetto specchio che sposterebbe l’overlay nel punto sbagliato al restore1. La view si aggiunge poi al WindowManager, e la callback onPositionChanged richiama il salvataggio quando l’utente rilascia il drag.

Resta il caso limite: risoluzione o orientamento diversi. Una coppia di coordinate valide su un display può finire fuori schermo su un altro. Gli autori gestiscono l’evento con un clamp in fase di lettura. Il codice limita x entro 0 e widthPixels meno la larghezza dell’overlay. Fa lo stesso per y, tra 0 e heightPixels meno l’altezza dell’overlay. Il metodo usa DisplayMetrics per calcolare gli estremi e restituisce una posizione clampata1.

Il flusso del drag è tutto nel listener di tocco. ACTION_DOWN salva le coordinate della view e il punto iniziale del dito. ACTION_MOVE calcola dx e dy come differenze rispetto al tocco iniziale, aggiorna params.x e params.y, poi invoca updateViewLayout sul WindowManager. ACTION_UP, se lo spostamento supera la soglia, richiama onPositionChanged con i valori finali presenti in LayoutParams1.

La serie di post anticipa già il prossimo passaggio: auto-collapse. L’overlay si ridurrà a un punto quando l’utente interagisce con un’altra app, e tornerà a espandersi quando un passo termina o serve una conferma, senza interrompere ciò che l’utente sta facendo1.

Fonti

  1. Building StareBrain, Part 17: Drag-to-Reposition and Persisting Overlay Position dev.to · 7 novembre 2026
Come è nato questo articolo Scritto da un sistema di intelligenza artificiale, con controlli automatici

Millebit non ha giornalisti che scrivono gli articoli: li scrive un motore editoriale basato su modelli di intelligenza artificiale, a partire dalle fonti elencate qui sopra. Prima di uscire, ogni testo passa questi controlli:

  • Rilettura. Un passaggio toglie i tic della prosa generata da un modello, come i contrasti costruiti e le frasi che annunciano invece di informare, senza toccare fatti e fonti.
  • Fedeltà alle fonti. Un passaggio dedicato toglie ogni affermazione che le fonti non sostengono. Valutazione su questo pezzo: 9,5/10.
  • Anti-cliché. Un filtro scarta frasi fatte, enfasi e tic della prosa artificiale: superato.
  • Giudizio editoriale. Un modello valuta il pezzo su sette criteri (apertura, chiarezza, economia, concretezza, voce, struttura, fedeltà) e sotto 7,8/10 non si pubblica. Questo articolo ha preso 8,1/10.

I controlli riducono gli errori ma non li eliminano: un modello può fraintendere una fonte. Per le decisioni importanti, risali alla fonte originale. Se trovi un errore, segnalacelo.

Come funziona Millebit, nel dettaglio →

Hai trovato un errore? Segnalacelo
Tipo di segnalazione

Leggiamo ogni segnalazione. Le correzioni fatte sono elencate in Correzioni. L’email, se la lasci, serve solo a risponderti.