gpt4 book ai didi

android - 从 CustomTextView 更改颜色文本

转载 作者:行者123 更新时间:2023-11-30 02:12:05 26 4
gpt4 key购买 nike

默认情况下,以编程方式更改 textColor 是:

textView.setTextColor(Color.RED);

我需要一个自定义 Textview 来默认更改字体和颜色,如何从 CustomTextView 类更改文本颜色,这是我的代码。

public class CustomTextView extends TextView {

public CustomTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);




}

public CustomTextView(Context context, AttributeSet attrs) {
super(context, attrs);

}

public CustomTextView(Context context) {
super(context);


}

public void setTypeface(Typeface tf, int style) {

if(!isInEditMode()) {
if (style == Typeface.BOLD) {
super.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/Lato-Bold.ttf"));
} else if(style == Typeface.ITALIC){ // constant used to set Lato-Light.
super.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/Lato-Light.ttf"));
}else {
super.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/Lato-Regular.ttf"));
}
}
}

最佳答案

下面的代码是设置默认文本颜色和字体的方法。

public class CustomTextView extends TextView {
public CustomTextView(Context context) {
super(context);
init(context);
}

public CustomTextView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}

public CustomTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context);
}

private void init(Context context) {
setTypeface(Typeface.createFromAsset(context.getAssets(),"fonts/Lato-Light.ttf"));
setTextColor(Color.RED);
}
}

每次创建 TextView 时都会调用 init() 方法,然后在其中设置字体和颜色。您可以在其中操纵您想要的任何其他变量。

关于android - 从 CustomTextView 更改颜色文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29950154/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com