gpt4 book ai didi

android - ImageView构造函数使用

转载 作者:太空狗 更新时间:2023-10-29 12:48:57 25 4
gpt4 key购买 nike

有几个构造函数可用于定义 ImageView。例如

1) public ImageView (Context context)
2) public ImageView (Context context, AttributeSet attrs)
3) public ImageView (Context context, AttributeSet attrs, int defStyle)**

我对使用第二类和第三类构造函数感到困惑。基本上我不知道用什么来代替 AttributeSet.请提供一个编码示例。

最佳答案

这些构造函数在 View 文档中定义。这是来自 View(Context, AttributeSet, int) 的参数说明:

Parameters

  • context    The Context the view is running in, through which it can access the current theme, resources, etc.
  • attrs        The attributes of the XML tag that is inflating the view.
  • defStyle    The default style to apply to this view. If 0, no style will be applied (beyond what is included in the theme). This may either be an attribute resource, whose value will be retrieved from the current theme, or an explicit style resource.

值得注意的是,如果您没有要传递的属性,您可以传递 null 来代替 AttributeSet

AttributeSet 的编码而言,这里是我用于自定义 TextView 类的一些代码:

public EKTextView(Context context, AttributeSet attrs) {
super(context, attrs);
// ...
if (attrs != null) {
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.LocalTextView);
determineAttrs(context, a);
}

// ...
}
private void determineAttrs(Context c, TypedArray a) {
String font = a.getString(R.styleable.fontName);
if (font != null)
mTypeface = Typeface.createFromAsset(c.getAssets(), "fonts/" + font);

mCaps = a.getBoolean(R.styleable.allCaps, false);
}

如您所见,从属性中获得 TypedArray 后,您可以只使用 its various methods收集每个属性。您可能想要查看的其他代码是 that of View(Context, AttributeSet, int)Resources.obtainStyledAttributes(AttributeSet, int[], int, int) .

关于android - ImageView构造函数使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14675543/

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