簡體   English   中英

使用微調器更改TextSize

[英]Change TextSize with a spinner

我設法用微調器更改了某些文本的顏色。 但是現在我想使用另一個微調器來更改相同文本的大小。 我將顏色盒放入開關功能中以更改顏色。

像那樣

switch (i) {
                case 0:
                    description.setText(des[i]);
                    preferences.edit().putInt(SELECTED_COLOR, Color.WHITE).apply();
                    break;
                case 1:
                    description.setText(des[i]);
                    preferences.edit().putInt(SELECTED_COLOR, Color.BLUE).apply();
                    break;

我把所有內容寫下來,但我不知道如何在案例中調用TextSize。 我認為這樣可以工作:

 switch (d) {
                case 0:
                    description2.setText(des2[d]);
                    preferences2.edit().putInt(SELECTED_SIZE, ????); <==
            }
        }

但是我不能使用TextSize或類似的東西。 要更改顏色,我使用了Color.BLUE/RED/GREEN / ...,但現在我想更改TextSize ...總是很難解釋我的問題。

如果要像使用顏色一樣使用共享首選項和switch語句,則可以執行以下操作:

在switch語句中,類似於您處理顏色的方式,將與所選微調器索引關聯的文本大小添加到共享的首選項中:

switch(i) {
    case 0:
        preferences.edit().putInt(SELECTED_SIZE, 16).apply();
        break;
    case 1:
        preferences.edit().putInt(SELECTED_SIZE, 18).apply();
        break;
    // other cases go here...
}

然后,在包含要更改其文本大小的TextView的活動中(在本示例中,名為textViewToChange ),檢索保存的值,並使用它來設置文本大小:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
int selectedTextSize = preferences.getInt(SELECTED_SIZE, 0);
textViewToChange.setTextSize(TypedValue.COMPLEX_UNIT_SP, selectedTextSize);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM