Страница 1 из 1

Программное создание кастомного View

Добавлено: 06 июл 2013, 18:23
long_island
Привет всем. Долго мучаюсь с одной проблемой:

Есть LinearLayout который создан статически, соответственно есть некая разметка у Activity. В разметке есть несколько "линий". Нужно в одну из линий(основной блок контента) вставить "кастомный" View, который в зависимости от передаваемых параметром отображается в этом основном блоке контента.

Т. е. по дефолту идет грубо говоря 2 параметра - title и content, title - передается всегда и выглядит как обычная строка, а content может быть или изображение, или текст. Вот надо как-то отобразить это в зависимости от контента.

Ребят, сразу скажу, я не прошу готовой реализации данной системы. Просто прошу подсказать в какую сторону искать или где именно про это почитать. Буду очень благодарен.

Re: Программное создание кастомного View

Добавлено: 06 июл 2013, 22:04
Foenix
ну а почему бы не использовать фрагменты? они динамически могут подгружаться

Re: Программное создание кастомного View

Добавлено: 06 июл 2013, 23:29
long_island
Честно говоря я еще не со всеми аспектами разработки под android знаком(легко далась лишь java, с учетом знания других ЯП). Но судя по всему, http://startandroid.ru/ru/uroki/vse-uro ... cycle.html, эти самые фрагменты можно использовать лишь с поддержкой android выше 3ей версии. А хотелось бы изначально работать с элементами, поддержка которых идет с версии 2.3.3(хотя бы до того момента, как процент пользователей версии 3+ не перевалит за 75-80%).

Re: Программное создание кастомного View

Добавлено: 07 июл 2013, 17:32
long_island
Вообще я так подумал. Подскажите пожалуйста как удалять объекты из View. Пример:

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

public void onClickCreateImage(View v) {
		ScrollView sv = (ScrollView)findViewById(R.id.sv); 
		ImageView imageObject = new ImageView(this); 
		ViewGroup.MarginLayoutParams layoutParams = new ViewGroup.MarginLayoutParams(
                ViewGroup.MarginLayoutParams.MATCH_PARENT,
                ViewGroup.MarginLayoutParams.MATCH_PARENT);
		imageObject.setLayoutParams(layoutParams);
		imageObject.setImageDrawable(getResources().getDrawable(R.drawable.ic_launcher));
		sv.addView(imageObject);
	}

Вот такой метод есть. Но при повторном выполнении методо приложение закрывается. Я полагаю, что это из-за того, что не удаляется объект. Подскажите как и где правильно такие вещи делать?

Re: Программное создание кастомного View

Добавлено: 07 июл 2013, 18:22
long_island
Сам решил вопрос:)

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

sv.removeView(imageObject);

Re: Программное создание кастомного View

Добавлено: 08 июл 2013, 11:02
KamiSempai
long_island писал(а):Честно говоря я еще не со всеми аспектами разработки под android знаком(легко далась лишь java, с учетом знания других ЯП). Но судя по всему, http://startandroid.ru/ru/uroki/vse-uro ... cycle.html, эти самые фрагменты можно использовать лишь с поддержкой android выше 3ей версии. А хотелось бы изначально работать с элементами, поддержка которых идет с версии 2.3.3(хотя бы до того момента, как процент пользователей версии 3+ не перевалит за 75-80%).
Для этого есть Support Library