Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Zilon
5 / 5 / 0
Регистрация: 05.11.2010
Сообщений: 60
#1

How to set view position on parent (Android)

17.01.2011, 15:39. Просмотров 1971. Ответов 0
Метки нет (Все метки)

Hello to everybody.
Here is my problem:
In my android application I need to use custom menu. In xml I make menu layout (RelativLayout)
and inflate it on application start, then add it to parent layout, which was set by setContentView().
So I have something like this:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
   private void initMenu()
    {
        LayoutInflater inflanter = getLayoutInflater(); 
        menu = (RelativeLayout) inflanter.inflate(R.layout.menu, null, false);
        
        LayoutParams param = new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, 
            ViewGroup.LayoutParams.WRAP_CONTENT);
        
        menuParent.addView(menu, param);    
        
        hideMenuAnim = AnimationUtils.loadAnimation(this, R.anim.menu_hide);
        showMenuAnim = AnimationUtils.loadAnimation(this, R.anim.menu_show);
    }
But I can't to set position for menu layout (using menu.layout(l, t, r, b).
menu.layout() don't do anything during initialization. I try to call layout() in
protected void onStart(), protected void onResume(), public void onChildViewAdded(View parent, View child) methods.
I try to create my custom class "class MenuLayout extends RelativeLayout{ ..." and set position in onLayout method:
Java
1
2
3
4
5
    protected void onLayout(boolean changed, int l, int t, int r, int b) {
        Rect posRect = new Rect();
        callback.getPosition(posRect);
        super.onLayout(changed, posRect.left, posRect.top, posRect.right, posRect.bottom);
        }
But position of menu don't change.
menu.layout() begin to work later when, as I understand, parrent view is completely initialized because
next code works normally (position is changed):
Java
1
2
3
4
5
6
7
8
    public boolean onKeyDown (int keyCode, KeyEvent event)
    {
        if(KeyEvent.KEYCODE_DPAD_UP == keyCode)
        {
                menu.layout(menuPosRect.left, menuTopPos, menuPosRect.right, menuBottomPos);
        }
    ...
    }
PS: layout_graviti and graviti works very funny.., as always ))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2011, 15:39
Ответы с готовыми решениями:

RecyclerView| LongClick| set(View.VISIBLE) на выбранном item?
Добрый день! подскажите пожалуйста как показать вьюшку только в той...

android Listview Center position
здравствуйте У меня есть XML-файл с разобрать и показать элементы в ListView....

Android slide view
Всем привет, недавно программирую под андройд, хочу сделать слайд менюшку в...

Web view Android studio
Как загрузить html страницу в webview в android studio? Где найти эту папку...

Expandable List View Android
Создал кастомный выдвигающийся список, но при запуске приложения адаптер списка...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2011, 15:39

Не отображаются view. Программа в Android Studio
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Я недавно...

Android-анимация поверх всех View
Всем добрый день. Перерыл весь гугл но так и не смог найти ответ на вопрос....

MVP для Android игры - реализация View
Добрый вечер! Делаю архитектуру для небольшой игрушки на Android, но возникли...


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

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

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