android atrタグの認識
3305 ワード
システムのソースコードとソースコードを见ていると、いつもatrの使用について见ることができますが、会えばいらいらします.どういう意味ですか?今日は初歩的な勉強をしてまとめます.
まず基本的な知識を勉強します.次の二つのブログを参考にしてください.
http://googlers.iteye.com/blog/1122585
http://www.cnblogs.com/angeldevil/p/3479431.html
Butは、Android 4.4システムのsettings wifiのソースコードを見ていますが、atrの別の使い方を発見しました.今はシステムの了解ではなく、先に記録してください.
このatrは使い方を説明しましたが、atrの使い方にも出会いました.
下はwifiですsignal_darkのファイル
その問題が来ました.どこでstateを決めますか?encrypedはfalseですか?それともtrueですか?WifiSettingsを例にします.
理解しているところがあるかもしれません.メッセージを交換してください.これからもどんどん更新します.
まず基本的な知識を勉強します.次の二つのブログを参考にしてください.
http://googlers.iteye.com/blog/1122585
http://www.cnblogs.com/angeldevil/p/3479431.html
Butは、Android 4.4システムのsettings wifiのソースコードを見ていますが、atrの別の使い方を発見しました.今はシステムの了解ではなく、先に記録してください.
android:src=「?atr/wifignal」を見ると、これは新しい使い方で、wifi_を呼び出します.signal属性なら、wifi_signalはどこで定義されていますか?
上はwifi_です.signalの定義は、その後、themeのstyleに与えられた値で、android:src=「?atr/wifignal」に相当します.このatrは使い方を説明しましたが、atrの使い方にも出会いました.
下はwifiですsignal_darkのファイル
-
-
上の第二篇のブログによると、私達はsettings:state_を知っています.encryped=「false」はstate_です.encrypt属性の賦値はViewではこのように使われますが、itemではこの意味ではなく、selectorがセレクタであり、state(u)であることを知っています.encryptはfalseのためのファーストアイテムであれば、trueの場合はtrueの2番目のアイテムです.その問題が来ました.どこでstateを決めますか?encrypedはfalseですか?それともtrueですか?WifiSettingsを例にします.
@Override
protected void onBindView(View view) {
super.onBindView(view);
ImageView signal = (ImageView) view.findViewById(R.id.signal);
if (mRssi == Integer.MAX_VALUE) {
signal.setImageDrawable(null);
} else {
//
signal.setImageLevel(getLevel());
// XML android:src="?attr/wifi_signal"
signal.setImageDrawable(getContext().getTheme().obtainStyledAttributes(new int[] {R.attr.wifi_signal}).getDrawable(0));
signal.setImageState((security != SECURITY_NONE) ? STATE_SECURED : STATE_NONE, true);
}
}
private static final int[] STATE_SECURED = {
R.attr.state_encrypted
};
private static final int[] STATE_NONE = {};
はsetImageStateという決定です.理解しているところがあるかもしれません.メッセージを交換してください.これからもどんどん更新します.