私は現在、非常に具体的な課題を抱えています。これが事です:
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" />
アドバイスをありがとう!