Sto tentando di implementare Spazio flessibile con pattern di immagine, utilizzando this tutorial.Modificare l'altezza di AppBarLayout in modo programmatico su Android
Tutto funziona correttamente.
Notare la definizione di altezza di AppBarLayout che è 192dp.
Vorrei aumentare l'altezza di 1/3 dello schermo, in modo che corrisponda a this google example for the pattern here.
Ecco il codice nel onCreate della propria attività (XML layout è esattamente lo stesso che nel tutorial):
AppBarLayout appbar = (AppBarLayout)findViewById(R.id.appbar);
float density = getResources().getDisplayMetrics().density;
float heightDp = getResources().getDisplayMetrics().heightPixels/density;
appbar.setLayoutParams(new CoordinatorLayout.LayoutParams(LayoutParams.MATCH_PARENT, Math.round(heightDp/3)));
Ma per qualche ragione, il risultato non è quello che mi aspetto. Non riesco a vedere la barra delle applicazioni con questo codice. (senza il codice, l'altezza viene visualizzata come previsto ma proviene da XML e non può essere impostata dinamicamente).
Non dovrebbe essere così ?: float density = mParentActivity.getResources(). getDisplayMetrics(). density; float heightDp = mParentActivity.getResources(). GetDisplayMetrics(). HeightPixels/density; – David