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

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

Войти
Регистрация
Восстановить пароль
 
motoroller
2 / 2 / 1
Регистрация: 01.05.2012
Сообщений: 116
#1

Как сделать RelativeLayout поверх другого? - Android

16.06.2015, 04:53. Просмотров 738. Ответов 1
Метки нет (Все метки)

Есть основной фрагмент:

XML
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
 
<com.google.android.gms.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mapView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/company_details" />
 
 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/company_details"
        android:background="@color/details_company">
 
        <!-- Image -->
        <com.android.volley.toolbox.NetworkImageView
            android:id="@+id/company_image"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_alignParentLeft="true" />
 
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginLeft="10dp">
 
            <!-- Title -->
            <TextView
                android:id="@+id/company_title"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="80dp" />
 
            <!-- Address -->
            <TextView
                android:id="@+id/company_address"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                style="@style/Country"
                android:layout_below="@id/company_title"
                android:layout_marginLeft="80dp" />
 
            <!-- Phone -->
            <TextView
                android:id="@+id/company_phone"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                style="@style/Country"
                android:textSize="30dp"
                android:layout_below="@id/company_address"
                android:layout_marginLeft="80dp" />
 
        </RelativeLayout>
 
    </RelativeLayout>
 
</RelativeLayout>
Он содержит два основных элемента
это карта и RelativeLayout. Последний элемент мы скрываем.
Так овт при перемещении карты или клику по элементу карты, мне надо чтобы RelativeLayout (company_details).
Собственно я этого добился:

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
// При перемещении карты
                                    googleMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() {
                                        @Override
                                        public void onCameraChange(CameraPosition camera) {
                                            RelativeLayout Details = (RelativeLayout) rootView.findViewById(R.id.company_details);
 
                                            if(Details.getVisibility() == View.VISIBLE && showDetails == false) {
                                                TranslateAnimation slide = new TranslateAnimation(0, 0, 0, Details.getHeight());
                                                slide.setDuration(500);
                                                Details.setVisibility(View.GONE);
 
                                                Log.d("My prog", "hide");
                                            } else if(Details.getVisibility() == View.GONE && showDetails == true) {
                                                TranslateAnimation slide = new TranslateAnimation(0, 0, Details.getHeight(), 0);
                                                slide.setDuration(500);
                                                //slide.setFillAfter(true);
                                                Details.startAnimation(slide);
                                                Details.setVisibility(View.VISIBLE);
                                                Log.d("My prog", "show");
                                            } else if(Details.getVisibility() == View.VISIBLE && showDetails == true) {
                                                showDetails = false;
                                                Log.d("My prog", "hide after second choice");
                                            }
 
                                            showDetails = false;
                                        }
                                    });
Но проблема в том, что карта у меня "прыгает" когда скрывается или появляется company_details, то есть у меня слой не поверх карты, скажите как можно сделать, чтобы company_details появлялся именно поверх карты, не меняя ее размеров?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2015, 04:53     Как сделать RelativeLayout поверх другого?
Посмотрите здесь:

Android RelativeLayout + Button
Ошибка: RelativeLayout cannot be resolved or is not a field Android
LinearLayout vs RelativeLayout Android
RelativeLayout расположение объектов Android
Как сделать вьюшку, чтобы она была поверх любых приложений? Android
Android Как разместить элемент над центром в RelativeLayout?
Android RelativeLayout расположение и связь объектов
Android Меню, которое выезжает поверх другого
Android Как прикрепить програмно кнопку к другому элементу в RelativeLayout
RelativeLayout и Bitmap Android
Сделать RelativeLayout во весь экран устройства Android
Фрагмент поверх другого Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2236 / 1809 / 563
Регистрация: 12.05.2014
Сообщений: 6,448
Завершенные тесты: 1
16.06.2015, 09:00     Как сделать RelativeLayout поверх другого? #2
Как сделать RelativeLayout поверх другого?
в это трудно поверить, но эти лаяуты нужно поместить внутрь FrameLayout и тогда они будут как-бы на разных слоях
(в код и разметку не вникал и не хочу)
Yandex
Объявления
16.06.2015, 09:00     Как сделать RelativeLayout поверх другого?
Ответ Создать тему
Опции темы

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