Всем привет. С прошлым вопросом я разобрался. И хотел бы спросить следующее:
Есть ScrollView. Туда надо подгружать миниатюры фотографий из интернета, и добавлять их в ячейки TableView. Как в Instagram.
Вот собственно каким образом сделать так, чтобы элементы подгружались по мере скроллинга(бесконечный скроллинг) и как обращаться к определенным ячейкам TableLayout?
Добавление элементов в TableLayout
-
- Сообщения: 8
- Зарегистрирован: 06 июл 2013, 18:14
-
- Сообщения: 8
- Зарегистрирован: 06 июл 2013, 18:14
Re: Добавление элементов в TableLayout
Не уверен, что грамотно сделал. Возможно был вариант реализации через адаптер(пока еще далеко не все приемы знаю), но если кому инетресно:
Код: Выделить всё
public void showImages(String[][] images) {
DisplayMetrics metrics = new DisplayMetrics(); // определяем параметры
getWindowManager().getDefaultDisplay().getMetrics(metrics); // экрана
int number = 0;
while (number < images.length) {
// реализуем так, чтобы на одной строке было только 3 ImageView
if (number % 3 == 0) {
tr = new TableRow(this);
tr.setGravity(Gravity.CENTER_HORIZONTAL);
tr.setPadding(5,5,5,5);
tableLayout.addView(tr, TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT);
}
ImageView photo = new ImageView(FindPhotoActivity.this);
photo.setMaxWidth(metrics.widthPixels / 5); // не смог грамотно сделать, чтобы под все экраны
// подходило, если кто пояснит буду благодарен
//photo.setMaxHeight(100);
photo.setId(number);
photo.setClickable(true);
photo.setOnClickListener(oclBtn);
ImageLoader imageLoader = ImageLoader.getInstance();
DisplayImageOptions options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.clock)
.build();
imageLoader.displayImage(images[number][0], photo, options);
tr.addView(photo, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
number++;
}
Re: Добавление элементов в TableLayout
Делал примерно так же.
Советую параметры стилей все же не делать статичными в коде (ака tr.setPadding(5,5,5,5); ) А прописывать в XML.
Советую параметры стилей все же не делать статичными в коде (ака tr.setPadding(5,5,5,5); ) А прописывать в XML.