Страница 1 из 1
Динамическое создание элементов интерфейса
Добавлено: 17 июл 2013, 12:33
sanu0074
Здравствуйте. Мне интересно знать, как динамически создавать элементы интерфейса.
Например, в цикле вызывается метод, который создает TextView, в него вставляет текст:
Код: Выделить всё
LinearLayout layout = (LinearLayout) findViewById(R.id.L1);
TextView txt = new TextView(this);
txt.setText(text);
layout.addView(txt);
А например, мне нужно задать крупный шрифт этому TextView, покрасить его, потом динамически создать LinearLayout задав ему отступы и толщину\цвета границ и в этот LinearLayout вставить уже созданный и отформатированный TextView, а потом уже все это поместить в главный layout.
Можете показать как это делать на моем примере, либо есть ли статьи где описаны такие действия с примерами (желат. на русском)
Очень благодарен за внимание

Re: Динамическое создание элементов интерфейса
Добавлено: 17 июл 2013, 12:39
Foenix
тут по-моему это каждый второй спрашивает. Поищи по форуму. Тема такая точно есть.
Re: Динамическое создание элементов интерфейса
Добавлено: 17 июл 2013, 12:42
sanu0074
Foenix писал(а):тут по-моему это каждый второй спрашивает. Поищи по форуму. Тема такая точно есть.
может странно, но я ненашел, вбил именно фразу: Динамическое создание элементов интерфейса
Re: Динамическое создание элементов интерфейса
Добавлено: 17 июл 2013, 13:17
Foenix

тут не такой интеллектуальный поиск
Просто вбей "динамическое", т.к. даже слово "динамич" не подойдет, тут, видимо, только поиск по точному слову.
Свой запрос разве что в гугл вбей, или яндекс - поиск по этому сайту, может так еще получится.
Re: Динамическое создание элементов интерфейса
Добавлено: 17 июл 2013, 13:27
sanu0074
Foenix писал(а):
тут не такой интеллектуальный поиск
Просто вбей "динамическое", т.к. даже слово "динамич" не подойдет, тут, видимо, только поиск по точному слову.
Свой запрос разве что в гугл вбей, или яндекс - поиск по этому сайту, может так еще получится.
Блин сделал так, но криво получилось:
Код: Выделить всё
LinearLayout layout = (LinearLayout) findViewById(R.id.lin1);
TextView txt = new TextView(this);
txt.setText(name);
LinearLayout newLayout = new LinearLayout(this);
newLayout.addView(txt,0);
ImageView image = new ImageView(this);
LinearLayout imageLayout = new LinearLayout(this);
imageLayout.addView(image);
newLayout.addView(imageLayout,1);
layout.addView(newLayout);
Нужно что бы все ровно было и текст был перед картинкой а не после
Re: Динамическое создание элементов интерфейса
Добавлено: 17 июл 2013, 13:57
sanu0074
Вот сейчас так переделал:
Код: Выделить всё
LinearLayout layout = (LinearLayout) findViewById(R.id.mainLinear);
LinearLayout imageLayout = new LinearLayout(this);
TextView txt = new TextView(this);
txt.setText(name);
ImageView image = new ImageView(this);
imageLayout.addView(image);
layout.addView(txt);
layout.addView(imageLayout);
убрал индексы у addView(), т.к. картинки снизу начинают грузиться - это плохо..
Но, как мне тут сейчас сделать чтоы сначала текст а потом картинка шло, такой вот сам XML:
Код: Выделить всё
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/mainLinear">
</LinearLayout>
</ScrollView>