Android - setting layout params to TextView in millimeter -


i believe can set layout_width , layout_height textview element dynamically using like:

layoutparams lparams = new layoutparams(layoutparams.wrap_content, layoutparams.fill_parent); centimeterlayout.addview(textview, lparams); 

but - how set layout width , height in other units - e.g. want set layout width of text view 20 mm. how do that?

layoutparams either take 1 of constants (fill_parent, wrap_content) or pixel value. since want use millimeters, have convert millimeter dimension pixel dimension. doing pretty easy:

resources r = getresources(); float px = typedvalue.applydimension(typedvalue.complex_unit_mm, 20,                                       r.getdisplaymetrics()); 

in example, 20 mm converted pixel dimension can use in layoutparams. can use other dimensions too, such typedvalue.complex_unit_dip dp/dip¹. change constant in arguments. android doc has list of useable dimensions.

¹ density independend pixels, highly recommended dimension adjusts many different screen sizes , densities. using mm isn't best way things, since text okay on big screen , fill big portion of small screen, or other way around - not ideal. recommend sp font sizes. see dimension list details.


Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -