pgs*_*rom 10 android preferences
因此,在我的应用程序的某些状态中,我想在我的设置菜单中禁用某些CheckBoxPreferences.但是,如果用户点击它们,我想要显示一个解释性的吐司.如果我只是做setEnable(false); 在CheckBoxPreference上,我确实得到了正确的外观和感觉.但我不能在点击时显示祝酒词.另一方面,我无法手动使CheckBoxPreference看起来像被禁用.
Tho*_*nvv 18
您也可以禁用首选项的视图,而不是禁用首选项.
public class DisabledAppearanceCheckboxPreference extends CheckBoxPreference {
protected boolean mEnabledAppearance = false;
public DisabledAppearanceCheckboxPreference(Context context,
AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onBindView(View view) {
super.onBindView(view);
boolean viewEnabled = isEnabled()&&mEnabledAppearance;
enableView(view, viewEnabled);
}
protected void enableView( View view, boolean enabled){
view.setEnabled(enabled);
if ( view instanceof ViewGroup){
ViewGroup grp = (ViewGroup)view;
for ( int index = 0; index < grp.getChildCount(); index++)
enableView(grp.getChildAt(index), enabled);
}
}
public void setEnabledAppearance( boolean enabled){
mEnabledAppearance = enabled;
notifyChanged();
}
@Override
protected void onClick() {
if ( mEnabledAppearance)
super.onClick();
else{
// show your toast here
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2061 次 |
| 最近记录: |