2016-11-24 52 views
1

爲我的應用我想給用戶調整在回收視圖TextView的項目(通過雙指縮放或搜索欄)的TEXTSIZE的可能性。默認應該是在系統設置中選擇的文本大小。最小值應該是「非常小」,最大值是系統設置中的「巨大」值。 我發現一些提示使用Settings.System.getFloat(context,Settings.System.FONT_SCALE)或TextView.setTextAppearance(context, android.R.style.TextAppearance_DeviceDefault_Large),但我不能通過調用TextView.setTextSize(TypedValue.COMPLEX_UNIT_PX, value). 任何想法?如何在Java獲得Android的TEXTSIZE設置(最大,最小,選擇)

由於提前, 德克

+0

您是否試過'TextView.setTextSize(TypedValue.COMPLEX_UNIT_SP,value)'? –

+0

@sunnil晴天 - 是的,謝謝,但它並沒有真正回答我的問題。爲了獲得當前的文本大小,我創建了一個'TextView'對象(不添加到佈局)並調用它的'getTextSize()'方法。我認爲會有一個更優雅的方式,另外:如何根據系統設置對話框獲取最小值和最大值? –

+0

我認爲你正在尋找這個http://stackoverflow.com/questions/28411099/how-to-get-default-text-size-from-textview-on-widget。 –

回答

0

可能是因爲你沒有將「價值」,以正確的unit.Try這

int size = ((int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, value ,getResources().getDisplayMetrics()) 

這裏您的值更改爲正確的單位在SP

TextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, size) 
相關問題