通常选择器都是在xml的drawable文件夹中创建selector文件。
但是若你的图片需要从服务器读取,用代码设置怎么办呢,别急,以下是我给的解决方法,经过测试的哦。
MySelector select = new MySelector();
Drawable idNormal = convertView.getResources().getDrawable(R.drawable.hecheng);
Drawable idPressed =convertView.getResources().getDrawable(R.drawable.jiao_fen);
ImageView bg=(ImageView) convertView.findViewById(R.id.game_pi_bg_iv);
bg.setBackgroundDrawable(select.newSelector(context,idNormal,idPressed));
public class MySelector {
/** 设置Selector。 */
// int idFocused,
// int idUnable
public StateListDrawable newSelector(Context context, Drawable idNormal, Drawable idPressed) {
StateListDrawable bg = new StateListDrawable();
Drawable normal = idNormal;
Drawable pressed = idPressed ;
bg.addState(new int[] { android.R.attr.state_pressed, android.R.attr.state_enabled }, pressed);
bg.addState(new int[] { android.R.attr.state_enabled }, normal);
bg.addState(new int[] {}, normal);
return bg;
}
}