Добавление элементов в TableLayout

Интерфейс, диалоги, темы, стили, меню
Ответить
long_island
Сообщения: 8
Зарегистрирован: 06 июл 2013, 18:14

Добавление элементов в TableLayout

Сообщение long_island » 08 июл 2013, 16:54

Всем привет. С прошлым вопросом я разобрался. И хотел бы спросить следующее:

Есть ScrollView. Туда надо подгружать миниатюры фотографий из интернета, и добавлять их в ячейки TableView. Как в Instagram.

Вот собственно каким образом сделать так, чтобы элементы подгружались по мере скроллинга(бесконечный скроллинг) и как обращаться к определенным ячейкам TableLayout?

long_island
Сообщения: 8
Зарегистрирован: 06 июл 2013, 18:14

Re: Добавление элементов в TableLayout

Сообщение long_island » 09 июл 2013, 14:45

Не уверен, что грамотно сделал. Возможно был вариант реализации через адаптер(пока еще далеко не все приемы знаю), но если кому инетресно:

Код: Выделить всё

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++;
		
		}

xr0m
Сообщения: 131
Зарегистрирован: 06 апр 2013, 14:01

Re: Добавление элементов в TableLayout

Сообщение xr0m » 09 июл 2013, 17:40

Делал примерно так же.
Советую параметры стилей все же не делать статичными в коде (ака tr.setPadding(5,5,5,5); ) А прописывать в XML.

Ответить