gpt4 book ai didi

android - TextSwitcher - 获取样式属性并将其传递给另一个 View

转载 作者:行者123 更新时间:2023-11-29 21:16:20 25 4
gpt4 key购买 nike

我正在使用带有 TextView 工厂的 TextSwitcher。我想将我在 TextSwitcher 上设置的样式传递给 TextView。

TextSwitcher 没有 3 arg 构造函数。

是否可以从属性集中获取样式属性?

XML

<com.my.TextSwitcher
style="@style/My.TextView.Style"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

Java

public class MyTextSwitcher extends TextSwitcher {

public MyTextSwitcher(Context context, AttributeSet attrs) {
super(context, attrs);
int style = attrs.getAttributeIntValue("", "style", 0); // I tried this to no avail
setFactory(new MyTextViewFactory(context, attrs, style));
}

private static class MyTextViewFactory implements ViewFactory {
private final Context context;
private final AttributeSet attrs;
private final int style;

public MyTextViewFactory(Context context, AttributeSet attrs, int style) {
this.context = context;
this.attrs = attrs;
this.style = style;
}

@Override
public View makeView() {
return new TextView(context, attrs, style);
}
}
}

是让我自己的 int 自定义属性传递样式的唯一答案吗?我不能使用内置样式标签吗?

最佳答案

您可以使用以下方法检索 style 属性(并将其传递给内部 View ):

attrs.getStyleAttribute()

或其等价物(如文档所述):

getAttributeResourceValue(null, "style")

关于android - TextSwitcher - 获取样式属性并将其传递给另一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21338641/

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