JavascriptProva

venerdì 12 agosto 2016

Ricerche sul bottone isolato: primo successo

WindowManager cosa è?
Proviamo a istanziare un oggetto di tipo WindowManager. Ho reso WindowManager wm come variabile di istanza.
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Immagine immagine=new Immagine(this);
        wm=(WindowManager)this.getSystemService(Context.WINDOW_SERVICE);
        wm.addView(immagine);
Ottengo un errore perché il metodo addView prevede necessariamente due parametri di cui uno i parametri.
Devo quindi studiare WindowManager.LayoutParams.
Vediamoli!

Soprattutto, quanti parametri hanno questi LayoutParams?
Qui ne figurano cinque.
  1. larghezza
  2. altezza
  3. tipo
  4. flags
  5. format
Come vengono specificati?
        WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
                0,
//              WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
//                      | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
                PixelFormat.TRANSLUCENT);
Ci provo.
Ci si aggiunge anche la proprietà Gravity.
        params=new WindowManager.LayoutParams(
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
                0,
                PixelFormat.TRANSLUCENT);
        params.gravity= Gravity.RIGHT | Gravity.TOP;
(scritti da me).

E ora ci provo...

Niente da fare!

Mi rendo conto che si tratta di un Service, non di un'Activity.
Costruisco un Service.
Il codice è posto nel metodo onCreate.

E funziona!!!

Nessun commento:

Posta un commento