In un'attività con molti componenti, ho un RelativeLayout che ha una visualizzazione Web (mostra un testo semplice, che non conosco le sue dimensioni).Regolazione delle dimensioni dinamiche del layout in Android
Questo è il codice xml:
<RelativeLayout android:id="@+id/descripcionRelative" android:layout_below="@+id/descripcion_bold" android:layout_width="match_parent" android:layout_height="125dip" android:background="@drawable/my_border">
<WebView android:id="@+id/webViewDescripcion" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
</RelativeLayout>
L'attributo android: layout_height di RelativeLayout è 125dip, perché se il testo è troppo grande, voglio delimitare a 125dip. Se il testo è grande, vedrò il testo con scroll. Grande!
Ma ... se il testo è breve, vedo molto spazio necessario.
Una soluzione è Android: layout_height di RelativeLayout per wrap_content. Se il testo è breve, il componente avrà i pixel esatti, ma se il testo è troppo grande, non posso delimitarlo.
Il GRANDE PROBLEMA è che non riesco a calcolare l'altezza del WebView. Se faccio: descripcion_web.getHeight() che restituisca 0.
Se chiamo questo metodo qui, non restituisce il numero di ben:
descripcion_web.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView webView, String url) {
super.onPageFinished(webView, url);
RelativeLayout marco = (RelativeLayout)findViewById(R.id.descripcionRelative);
System.out.println("Height webView: "+webView.getHeight());
System.out.println("Height relative: "+marco.getHeight());
}
});
provo a chiamare il metodo in onResume(), ma non funziona
Un altro tentativo di risolvere il problema, è impostato su android: layout_height su match_parent e utilizza un metodo di visualizzazione setMaximumHeight(), ma non esiste. Tuttavia, esiste setMinimumHeight() ...
Come posso risolvere questo? Grazie mille!