我目前面临一个非常具体的挑战。事情是这样的:
我构建了一个自定义视图,我想在其中从 xml 布局设置特定属性。我在视图的构造函数中获得了我的自定义属性。现在,在方向更改后,不再调用此构造函数,但我为自定义属性设置了不同的值。有什么办法可以自动获取这些新值,还是我必须在方向更改时手动设置它们(或再次充气)?
自定义视图:
public MyCustomView(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray a = context.getTheme().obtainStyledAttributes(
attrs,
R.styleable.MyCustomView,
0, 0);
try {
mAttr = a.getBoolean(R.styleable.MyCustomView_customAttr, false);
} finally {
a.recycle();
}
}
布局-横向
<com.me.MyCustomView
custom:customAttr="false" />
布局-纵向
<com.me.MyCustomView
custom:customAttr="true" />
感谢您的任何建议!