2016-07-24 1 views
0

Я хочу, чтобы отобразить элементы на GridView, которые по существу изображение с текстами, загруженных во время выполнения из ИнтернетаОтображение DEFUALT контейнера при загрузке элементов в GridView

Пока изображение загружается я хочу, чтобы отобразить изображение по умолчанию, который будет быть заменены, когда реальное изображение полностью загружено

Дело в том, что мой GridView определен с помощью num_of_columns и изменения его размера на разных устройствах, Итак, вопрос в том, как узнать размер элемента сетки и поставить правильный размер по умолчанию контейнер?

Это может, GridView:

<GridView 
    android:id="@+id/gridAction" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:verticalSpacing="@dimen/grid_vertical_spacing" 
    android:horizontalSpacing="@dimen/grid_horizontal_spacing" 
    android:numColumns="3" 
    android:stretchMode="columnWidth" 
    android:gravity="center" 
    android:layout_margin="@dimen/tabs_margin_left_right" 
    /> 

Я пытался получать размер в методе GetView но размеры не правы

width = holder.mainRL.getWidth(); 
height = holder.mainRL.getHeight(); 
Log.i(Utils.TAG, "width: " + width + " height: " + height); 

Другое дело, чтобы спросить, как держать мои детали квадратного размера а не прямоугольник? Даже если мои изображения все квадратные я получить прямоугольник размера детали

ответ

0

Лучше всего использовать с изображениями и загрузкой является Picasso http://square.github.io/picasso/

Picasso.with(context) 
.load(url_of_image) 
.placeholder(R.drawable.user_placeholder)//your image on load 
.into(imageView);//your imageView 

Пикассо также позволяют кадрировать, изменить размер изображения:

Picasso.with(context) 
.load(url) 
.resize(50, 50) //resize 
.centerCrop() //crop 
.into(imageView) 
0

Вместо этого используйте вместо этого RecyclerView, который имеет 2 соответствующих подкласса: HorizontalGridView и VerticalGridView.

Вы можете иметь пользовательские RecyclerView.Adapter обрабатывать какие элементы, чтобы показать, и/или пользовательские RecyclerView.LayoutManager обрабатывать как, чтобы показать детали.

Для получения полной информации и кода примера см. docs.

+0

Спасибо, но как будет Recyclerview лучше, чем GridView? множество экранов в моем приложении используют существующий GridView –

+0

@MichaelA RecyclerView - это более новая версия с решением для listview и gridview в одном компоненте. Использование GridView - это не так, и пикассо сотрудничает с просмотром ресайклера или с gridview. –

Смежные вопросы