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

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

Восстановить пароль Регистрация
 
Jason
387 / 387 / 46
Регистрация: 25.12.2011
Сообщений: 898
11.08.2014, 16:07     Динамически созданный элемент по центру #1
Как расположить динамически созданный progressbar по центру:
Java
1
2
ProgressBar progressBar = new ProgressBar(this.getContext(),null,android.R.attr.progressBarStyleLarge);
this.addView(progressBar);
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
11.08.2014, 17:29     Динамически созданный элемент по центру #2
LayoutParams как аргумент для addView в помощь.
Jason
387 / 387 / 46
Регистрация: 25.12.2011
Сообщений: 898
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);
Но ничего не выходи, как был в левом верхнем углу, так там и остался.
shulyakyarik
10 / 10 / 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);
Jason
387 / 387 / 46
Регистрация: 25.12.2011
Сообщений: 898
11.08.2014, 19:53  [ТС]     Динамически созданный элемент по центру #5
shulyakyarik, и такое пробовал, не выходит.
shulyakyarik
10 / 10 / 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);
Jason
387 / 387 / 46
Регистрация: 25.12.2011
Сообщений: 898
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);
        }
        
    }
shulyakyarik
10 / 10 / 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);
NiRamz
210 / 210 / 16
Регистрация: 26.12.2010
Сообщений: 691
12.08.2014, 18:15     Динамически созданный элемент по центру #9
а добавить вьюху, передав параметры - не?
addView(view, lp) - такое уже не катит?
Jason
387 / 387 / 46
Регистрация: 25.12.2011
Сообщений: 898
12.08.2014, 18:22  [ТС]     Динамически созданный элемент по центру #10
NiRamz, нет.
NiRamz
210 / 210 / 16
Регистрация: 26.12.2010
Сообщений: 691
12.08.2014, 18:28     Динамически созданный элемент по центру #11
Сообщение было отмечено автором темы, экспертом или модератором как ответ
а я говорю катит.
проблема в том, что WebView наследуется от AbsoluteLayout, который в свою очередь не поддерживает относительное позиционирование внутри себя. То что вы суете ему всевозможные параметры от RelativeLayout погоды не сделают, они просто проигнорятся. Что бы был эффект, вложите webView в framelayout и поместите туда же progressbar с gravity="center", потом можно найти его по айдишнику и сделать все что угодно
Jason
387 / 387 / 46
Регистрация: 25.12.2011
Сообщений: 898
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);
Миниатюры
Динамически созданный элемент по центру  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2014, 21:18     Динамически созданный элемент по центру
Еще ссылки по теме:

SlidingTabLayout - расположение вкладок по центру Android
Создание подкнопки динамически Android
Какой тег отвечает за выравнивание по центру текста? Android
Android Динамически созданные обьекты?
Android Маркер по центру MapView googleMap

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

Или воспользуйтесь поиском по форуму:
NiRamz
210 / 210 / 16
Регистрация: 26.12.2010
Сообщений: 691
13.08.2014, 21:18     Динамически созданный элемент по центру #13
еще раз внимательно перечитайте мой пост
Yandex
Объявления
13.08.2014, 21:18     Динамически созданный элемент по центру
Ответ Создать тему
Опции темы

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