gpt4 book ai didi

android - CustomView 的这种技巧安全吗?

转载 作者:行者123 更新时间:2023-11-29 02:00:50 24 4
gpt4 key购买 nike

目前我开始为一个项目提供支持,在那里我发现了一个非常有趣的技巧。它提供了一个机会,不要在 xml 中为 CustomView 编写完整的类名,我认为它看起来很脏。

以下是这个技巧的实现步骤:

1) 在我们的项目中创建我们自己的 android.view 包。

2) 创建CustomTextView extends TextView并将其放入android.view包中。

3) 像使用任何其他 Android view

一样在 XML 中使用它
 <CustomTextView
android:angle="90"
android:endColor="#efa600"
android:paddingLeft="0dp"
android:startColor="#ffe396"
android:text=""
android:textSize="24dp"
android:textStyle="bold" />

4) 使用标准 Android 属性而不是自定义属性:

public CustomTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
int[] ids = new int[attrs.getAttributeCount()];
for (int i = 0; i < attrs.getAttributeCount(); i++) {
ids[i] = attrs.getAttributeNameResource(i);
}

TypedArray a = context.obtainStyledAttributes(attrs, ids, defStyle, 0);

for (int i = 0; i < attrs.getAttributeCount(); i++) {
String attrName = attrs.getAttributeName(i);
if (attrName == null)
continue;

if (attrName.equals("startColor")) {
mStartColor = a.getColor(i, -1);
} else if (attrName.equals("endColor")) {
mEndColor = a.getColor(i, -1);
} else if (attrName.equals("angle")) {
mAngle = a.getFloat(i, 0);
}
}
a.recycle();
}

这种方式是否安全,或者可能会导致任何问题?

最佳答案

虽然可以做到,但我建议使用您自己的样式。

我不确定如果这些在未来被 Inflater 忽略会发生什么,因为它们不是有效的样式。

至少可以让您放心使用自定义样式。

更不用说更简洁的代码了。

关于android - CustomView 的这种技巧安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12757425/

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