我扩展了ImageView类并添加了一些自定义参数。我使用方法Context.getTheme().obtainStyledAttributes()
成功从我的代码中获取这些自定义参数。
我需要的是访问ImageView对象的标准参数,例如android:src
和android:background
。我知道它存在类android.R.styleable。*,我可以使用它来获取这些参数,但该类已被弃用(并且不再可见)。我该怎么做才能访问这些android参数?
答案 0 :(得分:-1)
虽然我不确定如何从TypedArray
中提取父值,但您可以使用适当的getter访问它们,例如:
public class MyImageView extends ImageView {
public MyImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
final TypedArray array = getContext().obtainStyledAttributes(attrs, R.styleable.whatever);
try {
// get custom attributes here
} finally {
array.recycle();
}
// parent attributes
final Drawable background = getBackground();
final Drawable src = getDrawable();
// etc.
}
}
它并不完全是您正在寻找的东西,但它可能有所帮助。