Как установить setAlpha() для одного элемента в GridView?
Можно ли установить один элемент в GridView как прозрачный?
Я получил GridView с помощью ImageAdapter и хочу установить элемент по центру без прозрачности, а остальные с помощью setAlpha().
gridView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
Log.v("firstVisibleItem", firstVisibleItem+"");
Log.v("visibleItemCount", visibleItemCount+"");
Log.v("totalItemCount", totalItemCount+"");
}
}
и это должно быть сделано в OnScrollListener.
РЕДАКТИРОВАТЬ:
Это мой getView в классе ImageAdapter
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setLabelFor(position);
imageView.setLayoutParams(new GridView.LayoutParams(100,100));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8); //left, top, right, bottom
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
public ArrayList<View> getListView() {
return listView;
}
и я хочу сохранить imageView в массиве и передать его моей основной деятельности. Какие-либо предложения?
1 ответ
Я, вероятно, подхожу к этому так:
Сохраняйте ссылку на каждое представление, накачанное в моем адаптере, в каком-то массиве.
Управляет тем, какой вид (какой индекс в этом массиве) находится в центре в определенный момент (на основе высоты, ширины, количества столбцов, количества строк)
Установите правильную альфа для всех представлений в массиве, кроме представления, идентифицированного как то, которое находится в центре (шаг 2).