我有一个Gridview,我用一个扩展BaseAdapter
的自定义适配器填充它。
public class ImageAdapter extends BaseAdapter {
...
}
我已经覆盖了这些方法来禁用几个瓦片
@Override
public boolean areAllItemsEnabled() {
return false;
}
@Override
public boolean isEnabled(int position) {
if (position == 1 || position == 2) {
return false;
}
else
{
return true;
}
}
所以它禁用了位置1和2中瓦片的点击。
现在,我对Android开发还是一个新手,我想知道什么是让瓷砖变灰的好方法。我可以指定特定于禁用磁贴的样式xml吗?
答案 0 :(得分:1)
我试着自己把它们弄灰了。 但我已经意识到,如果你只是使用alpha来让它们看起来完全没有那么看起来好多了。我认为这看起来更好,因为View看起来更像背景,如果背景是灰色的,它会看起来是灰色的,如果它的其他颜色甚至是图片,效果看起来更平滑。但那是主观的。
if (isEnabled(position)) {
view.setAlpha(1f);
} else {
view.setAlpha(0.45f);
}
如果你坚持使用灰色,请将视图backgroundcolor设置为灰色,它会显示为灰色,因为你可以通过视图看到背景颜色。