1.有时候我们根据自己的需要,修改了frameword下的代码,但是,我们又不希望影响第三方,这时候我们就可以在修改处添加一个我们自己的标志位,如,mIsFunui
它是定义在我们自定义的theme里面的,如下
<style name="Theme.Funui" parent="Theme.Holo.Light"> <item name="isFunui">true</item> <item name="colorForeground">@android:color/bright_foreground_funui</item> <item name="colorForegroundInverse">@android:color/bright_foreground_funui_inverse</item> <item name="colorBackground">@android:color/background_funui</item> <item name="colorBackgroundCacheHint">@android:drawable/background_cache_hint_selector_funui</item> <item name="disabledAlpha">0.5</item> <item name="backgroundDimAmount">0.6</item> </style>
我们在代码中读取这条属性就可以了,如下
import android.content.res.TypedArray; private boolean mIsFunui; TypedArray styledAttributes = mContext.obtainStyledAttributes( com.android.internal.R.styleable.Theme); mIsFunui = styledAttributes.getBoolean(com.android.internal.R.styleable.Theme_isFunui, false); styledAttributes.recycle(); if (mIsFunui) { mMaxIconSize += 3; }