Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.63
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
#1

Программное добавление View - Android

31.10.2012, 03:11. Просмотров 2035. Ответов 9
Метки нет (Все метки)

Всем привет! У меня в роли setContentView выступает класс Draw2D, в котором я собираюсь рисовать кое-какую графику. Графика рисуется замечательно, но вот проблема - в нем я не могу программно создавать кнопки. У класса LinearLayout есть метод .addView (child, params). А у класса Draw2D (а он унаследован от View) этот метод отсутствует. Как выходить из данной ситуации? Заранее благодарен!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 03:54     Программное добавление View #2
засунуть Draw2D в лаяут и туда же добавлять другие View.
и уже этот лаяут уже запихать в setContentView
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
31.10.2012, 17:57  [ТС]     Программное добавление View #3
Цитата Сообщение от V0v1k Посмотреть сообщение
засунуть Draw2D в лаяут и туда же добавлять другие View.
Спасибо, вроде бы получилось, draw2d отображается в layout. Но вот только кнопка не добавляется (вернее, может и добавляется, но по всей видимости она находится на заднем плане, и потому ее не видно). Как добавить кнопку поверх draw2d?
Creative
22 / 8 / 1
Регистрация: 13.07.2012
Сообщений: 66
31.10.2012, 18:46     Программное добавление View #4
да вам не поверх нужно добавлять а рядом. вам просто свою вьюшку нужно в XML разметку вставить.

Добавлено через 5 минут
вот эту тему поглядите Как добавить поддержку прокрутки в собственном виджете?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 19:05     Программное добавление View #5
какой лаяут используете? как добавляете? в какой последовательности?
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
31.10.2012, 21:38  [ТС]     Программное добавление View #6
Цитата Сообщение от V0v1k Посмотреть сообщение
какой лаяут используете? как добавляете? в какой последовательности?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class EditActivity extends Activity 
{
    
    protected void onCreate(Bundle savedInstanceState) 
    {
       super.onCreate(savedInstanceState);
       setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
       requestWindowFeature (Window.FEATURE_NO_TITLE);
       
       LinearLayout linLayout = new LinearLayout (this);
       LinearLayout.LayoutParams lParams = new LinearLayout.LayoutParams
               (LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
       
       setContentView(linLayout);
    
       Draw2D draw2d = new Draw2D (this);
       draw2d.setLayoutParams(lParams);
       linLayout.addView(draw2d);
       
       lParams.gravity = Gravity.BOTTOM;
       lParams.gravity = Gravity.RIGHT;
       Button btnSwitch = new Button (this);
       btnSwitch.setText("Switch");
       linLayout.addView(btnSwitch, lParams);
       
    }
}
Что делаю не так?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 21:55     Программное добавление View #7
судя по тому, что это LinearLayout, кнопка не на заднем плане а просто за пределами окна.
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
31.10.2012, 22:07  [ТС]     Программное добавление View #8
Цитата Сообщение от V0v1k Посмотреть сообщение
судя по тому, что это LinearLayout, кнопка не на заднем плане а просто за пределами окна.
Закомментировал параметры Gravity - результат тот же.
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
31.10.2012, 22:23  [ТС]     Программное добавление View #9
Блин, вот оно что получается - если сначала создавать кнопку, а потом Draw2D, то кнопка появляется, а справа от нее уже все остальное. А как сделать так, чтобы кнопки были поверх Draw2D?
Программное добавление View
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2012, 23:11     Программное добавление View
Еще ссылки по теме:

Программное добавление рамки Layout Android
Программное добавление элементов Android
Android Программное добавление View элементов в Fragment
Android Программное добавление View
Android Сериализация View

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.10.2012, 23:11     Программное добавление View #10
RelativeLayout / FrameLayout
Yandex
Объявления
31.10.2012, 23:11     Программное добавление View
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru