IconCheckBoxPreference: 一个带有图标的CheckBox preference

 
   
这篇文章原文是在https://gist.github.com/515681。主要是代码,没有其他文字说明,转到这里来,希望对看到的人有用。 下面是用到的xml布局文件。



下面是用到的java类文件。
 
     
import android.content.Context; import android.graphics.drawable.Drawable; import android.preference.CheckBoxPreference; import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; import com.jakewharton.wakkawallpaper.R; public class IconCheckBoxPreference extends CheckBoxPreference { private Drawable mIcon; public IconCheckBoxPreference(final Context context, final AttributeSet attrs, final int defStyle) { super(context, attrs, defStyle); this.setLayoutResource(R.layout.icon_checkbox_preference); this.mIcon = context.obtainStyledAttributes(attrs, R.styleable.IconPreference, defStyle, 0).getDrawable(R.styleable.IconPreference_icon); } public IconCheckBoxPreference(final Context context, final AttributeSet attrs) { this(context, attrs, 0); } @Override protected void onBindView(final View view) { super.onBindView(view); final ImageView imageView = (ImageView)view.findViewById(R.id.icon); if ((imageView != null) && (this.mIcon != null)) { imageView.setImageDrawable(this.mIcon); } } /** * Sets the icon for this Preference with a Drawable. * * @param icon The icon for this Preference */ public void setIcon(final Drawable icon) { if (((icon == null) && (this.mIcon != null)) || ((icon != null) && (!icon.equals(this.mIcon)))) { this.mIcon = icon; this.notifyChanged(); } } /** * Returns the icon of this Preference. * * @return The icon. * @see #setIcon(Drawable) */ public Drawable getIcon() { return this.mIcon; } }
如果有需要做类似功能的朋友们可以参照此例进行修改。

你可能感兴趣的:(IconCheckBoxPreference: 一个带有图标的CheckBox preference)