1 - I'm using this code that gives me a good result on all my devices.
If web is tyour WebView,
web = (WebView) v.findViewById(R.id.htmlDisplay);
// Impostazioni della WebView.
final WebSettings webSettings = web.getSettings();
// Set the font size (in sp).
webSettings.setDefaultFontSize(20);
OK, this is hardcoded
Now, a more dynamic solution (as per your question):
If you put your desired size in an integers file (several, one for each screen you are supporting),
you could do so to retrieve its value:
Resources res = getResources();
int fontSize = res.getInteger(R.integer.font_size);
webSettings.setDefaultFontSize(fontSize);
Assuming that your res/values/integers.xml file(s) is similar to this one:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="font_size">20</integer>
</resources>
So change this line in the above code
webSettings.setDefaultFontSize(20);
to
webSettings.setDefaultFontSize(fontSize);
2 - To load things faster, I use the following code
// Optimize loading times.
webSettings.setAppCacheEnabled(false);
webSettings.setBlockNetworkImage(true);
webSettings.setLoadsImagesAutomatically(true);
webSettings.setGeolocationEnabled(false);
webSettings.setNeedInitialFocus(false);
webSettings.setSaveFormData(false);
Note that I load more than 7-8 lines of text: it's a full HTML page with JavaScript to expand / collapse sections.
And it takes, say, half a second to load.
So, I guess, 7-8 lines of text will be loaded in a flash.