Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Change font size at run time android

I have one textview and it has size as 32sp in xml.

android:textSize="32sp"

I wanted to change it as 28sp programmatically. So i used the below code.

txt.setTextSize(TypedValue.COMPLEX_UNIT_SP, getResources().getDimension(R.dimen.twenty_eight_sp));

But the above code is adding the 28sp to 32sp. So the font became too large. I don't want to add the font size, I want to set a new font size.

Can anyone suggest me.

like image 374
simple Avatar asked Dec 18 '22 20:12

simple


2 Answers

You have to change it to TypedValue.COMPLEX_UNIT_PX because getDimension(id) returns a dimen value from resources and implicitly converted to px.

textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, 
           getResources().getDimension(R.dimen.result_font));
like image 71
Rashpal Singh Avatar answered Jan 05 '23 03:01

Rashpal Singh


txt.setTextSize(TypedValue.COMPLEX_UNIT_SP,getResources().getDimension(R.dimen.twenty_eight_sp));
like image 37
Sari Masri Avatar answered Jan 05 '23 04:01

Sari Masri