Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Jason
397 / 397 / 46
Регистрация: 25.12.2011
Сообщений: 903
#1

Динамически созданный элемент по центру - Программирование Android

11.08.2014, 16:07. Просмотров 1010. Ответов 12
Метки нет (Все метки)

Как расположить динамически созданный progressbar по центру:
Java
1
2
ProgressBar progressBar = new ProgressBar(this.getContext(),null,android.R.attr.progressBarStyleLarge);
this.addView(progressBar);
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.08.2014, 16:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Динамически созданный элемент по центру (Программирование Android):

Найти по id динамически созданный элемент - jQuery
Доброго времени суток! Пытаюсь динамически создать див, вот код: $("<div id=new_task,"+workcardId.toString()+"/>").css({ ...

Удалить динамически созданный элемент ПКМ - C++ Builder
Добрый день, делаю курсовую, хочу удалить динамически созданный элемент правой кнопкой мыши. Создаю на нажатие одной кнопки картинку ...

QML удалить динамически созданный элемент - C++ Qt
Суть программы в том что при клике на окно мышкой на нем создается элемент и начинается его анимация. Нужно сделать так что-бы когда...

Изменить динамически созданный элемент на форме - C#
Здравствуйте! Как изменить (ну например фоновый цвет) элемента который был создан динамичеки? Вот смотрите: создаем 3 Panel-элемета...

Как получить данные, введенные в динамически созданный элемент TextBox? - C#
Подскажите пожалуйста как получить данные, вводимые в элемент TextBox, который был создан во время выполнения программы. namespace Test1 ...

Каждой динамически созданной кнопке свой динамически созданный PictureBox - C#
Добрый день. Надеюсь, что пишу в тот раздел. Находил немного похожие темы: каждая созданная кнопка оперирует с уже существующим объектом,...

12
YuraAAA
1578 / 1319 / 271
Регистрация: 25.10.2009
Сообщений: 3,437
Записей в блоге: 2
11.08.2014, 17:29 #2
LayoutParams как аргумент для addView в помощь.
0
Jason
397 / 397 / 46
Регистрация: 25.12.2011
Сообщений: 903
11.08.2014, 17:50  [ТС] #3
YuraAAA, я пробовал так:
Java
1
2
3
4
5
    progressBar = new ProgressBar(this.getContext(),null,android.R.attr.progressBarStyleLarge);
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.CENTER_IN_PARENT);
    progressBar.setLayoutParams(params);
    this.addView(progressBar);
Но ничего не выходи, как был в левом верхнем углу, так там и остался.
0
shulyakyarik
11 / 11 / 3
Регистрация: 28.03.2014
Сообщений: 156
11.08.2014, 19:49 #4
Jason, попробуй такое

Java
1
2
params.addRule(RelativeLayout.CENTER_VERTICAL);
params.addRule(RelativeLayout.CENTER_HORIZONTAL);
0
Jason
397 / 397 / 46
Регистрация: 25.12.2011
Сообщений: 903
11.08.2014, 19:53  [ТС] #5
shulyakyarik, и такое пробовал, не выходит.
0
shulyakyarik
11 / 11 / 3
Регистрация: 28.03.2014
Сообщений: 156
11.08.2014, 20:00 #6
Jason, тогда так: дай id RelativeLayout-у и...

Java
1
2
3
4
5
6
7
8
9
10
 RelativeLayout rl = (RelativeLayout)findViewById(R.id.rl);
 
 Button button = new Button(this);
 button.setText("What");
 RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
                RelativeLayout.LayoutParams.WRAP_CONTENT);
 params.addRule(RelativeLayout.CENTER_VERTICAL);
 params.addRule(RelativeLayout.CENTER_HORIZONTAL);
 button.setLayoutParams(params);
 rl.addView(button);
0
Jason
397 / 397 / 46
Регистрация: 25.12.2011
Сообщений: 903
12.08.2014, 15:54  [ТС] #7
В общем у меня не выходит, полный код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    public class MainWebActivity extends WebView {
 
        public MainWebActivity(Context context) {
            super(context);
            progressBar = new ProgressBar(this.getContext(),null,android.R.attr.progressBarStyleLarge);
            RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
            params.addRule(RelativeLayout.CENTER_VERTICAL);
            params.addRule(RelativeLayout.CENTER_HORIZONTAL);
            progressBar.setLayoutParams(params);
            RelativeLayout rl = new RelativeLayout(this.getContext());
            rl.addView(progressBar);
        }
        
    }
0
shulyakyarik
11 / 11 / 3
Регистрация: 28.03.2014
Сообщений: 156
12.08.2014, 17:42 #8
В LayoutParams должно быть не WRAP_CONTENT а MATCH_PARENT, а то выходит что RelativeLayout имеет размеры как ProgressBar

Добавлено через 1 час 39 минут
То что я написал выше неверно. Вот код который я протестировал(не в webview,а в обычной Activity)
Java
1
2
3
4
5
6
7
8
ProgressBar progressBar = new ProgressBar(this,null,android.R.attr.progressBarStyleLarge);
        RelativeLayout.LayoutParams params = new       RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
                RelativeLayout.LayoutParams.WRAP_CONTENT);
        params.addRule(RelativeLayout.CENTER_VERTICAL);
        params.addRule(RelativeLayout.CENTER_HORIZONTAL);
        progressBar.setLayoutParams(params);
        RelativeLayout rl = (RelativeLayout)findViewById(R.id.rl);// rl - RelativeLayout id
        rl.addView(progressBar);
0
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
12.08.2014, 18:15 #9
а добавить вьюху, передав параметры - не?
addView(view, lp) - такое уже не катит?
0
Jason
397 / 397 / 46
Регистрация: 25.12.2011
Сообщений: 903
12.08.2014, 18:22  [ТС] #10
NiRamz, нет.
0
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
12.08.2014, 18:28 #11
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
а я говорю катит.
проблема в том, что WebView наследуется от AbsoluteLayout, который в свою очередь не поддерживает относительное позиционирование внутри себя. То что вы суете ему всевозможные параметры от RelativeLayout погоды не сделают, они просто проигнорятся. Что бы был эффект, вложите webView в framelayout и поместите туда же progressbar с gravity="center", потом можно найти его по айдишнику и сделать все что угодно
1
Jason
397 / 397 / 46
Регистрация: 25.12.2011
Сообщений: 903
13.08.2014, 16:55  [ТС] #12
NiRamz, не катит:
Java
1
2
3
4
5
6
            progressBar = new ProgressBar(this.getContext(),null,android.R.attr.progressBarStyleLarge);
            RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
            params.addRule(RelativeLayout.CENTER_VERTICAL);
            params.addRule(RelativeLayout.CENTER_HORIZONTAL);
            RelativeLayout rl = new RelativeLayout(this.getContext());
            this.addView(progressBar, params);
0
Миниатюры
Динамически созданный элемент по центру  
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
13.08.2014, 21:18 #13
еще раз внимательно перечитайте мой пост
1
13.08.2014, 21:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2014, 21:18
Привет! Вот еще темы с ответами:

Действие на динамически созданный объект - C#
Есть массив панелей. Необходимо выполнить действие (а именно окрасить панель по клику). Как это можно сделать? Желательно не через...

Распознать динамически созданный Image - C++ Builder
Доброго дня! Подскажите, существует ли возможность узнать в обработчике, какой из массива Image на данный момент является...

Не работает динамически созданный QTextStream - C++ Qt
QTextStream* out = new QTextStream(stdout); *out<<"This string won't show up"; QTextStream nout(stdout); nout<<"But...

Обработчик на динамически созданный компонент - Delphi
Доброго всем дня! И с первым днём лета. Вопрос вот в чём. Создаю вот так форму и компоненты (динамически) при нажатии на кнопку на...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

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