一千萬個為什麽

搜索

如何在運行時更改TextView的樣式

我有一個Android應用程序,當用戶點擊 TextView 時,我想應用一個已定義的樣式。

我想找到一個 textview.setStyle()但它不存在。我試過了

textview.setTextAppearance();

但它不起作用。

最佳答案

我這樣做是通過創建一個新的XML文件 res/values/style.xml ,如下所示:

<?xml version="1.0" encoding="utf-8"?>


    
    

我的“strings.xml”文件中也有一個條目,如下所示:

#000088
#000044

Then, in my code I created a ClickListener to trap the tap event on that TextView: EDIT: As from API 23 'setTextAppearance' is deprecated

    myTextView.setOnClickListener(new View.OnClickListener() {
                public void onClick(View view){
                    //highlight the TextView
                    //myTextView.setTextAppearance(getApplicationContext(), R.style.boldText);
    if (Build.VERSION.SDK_INT < 23) {
       myTextView.setTextAppearance(getApplicationContext(), R.style.boldText);
    } else {
       myTextView.setTextAppearance(R.style.boldText);
    }
     myTextView.setBackgroundResource(R.color.highlightedTextViewColor);
                }
            });

要將其更改回來,您可以使用:

if (Build.VERSION.SDK_INT < 23) {
    myTextView.setTextAppearance(getApplicationContext(), R.style.normalText);
} else{
   myTextView.setTextAppearance(R.style.normalText);
}
myTextView.setBackgroundResource(R.color.normalTextViewColor);

轉載註明原文: 如何在運行時更改TextView的樣式