我在styles.xml
和styles.xml(v21)
中定义了两种样式。它们都包含textAppearance
属性,该属性链接到某种默认的android文本样式。
styles.xml
<style name="NotificationTitle">
<item name="android:textAppearance">
@android:style/TextAppearance.StatusBar.EventContent.Title
</item>
</style>
styles.xml(v21)
<style name="NotificationTitle">
<item name="android:textAppearance">
@android:style/TextAppearance.Material.Notification.Title
</item>
</style>
这些默认样式包含一些文本属性:textColor
,textSize
等:
...
<style name="TextAppearance.Material.Notification.Title">
<item name="textColor">@color/primary_text_default_material_light</item>
<item name="textSize">@dimen/notification_title_text_size</item>
</style>
...
我需要以自定义样式的名称(示例中的NotificationTitle)以编程方式获取此textColor
。我试图使用obtainStyledAttributes
获取它,但它没有返回。我该怎么办?
int resultColor;
int[] attrs = {android.R.attr.textColor};
TypedArray ta = context.obtainStyledAttributes(R.style.NotificationText, attrs);
if (ta != null) {
resultColor = ta.getColor(0, Color.TRANSPARENT);
ta.recycle();
}
答案 0 :(得分:1)
很抱歉,如果我的回答有点迟,但我尝试了一些修改后的代码,我将样式更改为:
user.resetPassword({
new_pwd: new_password,
token
}, (err, data) => {
if (err || !data.status) {
return err || data;
} else {
return data;
}
});
并且所有代码都运行良好(现在我使用AppCompat并不需要v21代码)
我希望这会有所帮助。