Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 5.00
Slon747
59 / 37 / 2
Регистрация: 24.08.2013
Сообщений: 474
#1

После setVisibility(View.GONE) не могу сделать элемент видимым - Программирование Android

16.02.2014, 18:30. Просмотров 4228. Ответов 8
Метки нет (Все метки)

Нужно скрывать/показывать нижнюю панель (LinearLayout).
Если скрыть ее (View.GONE), то элемент (fragment), заполняет весь экран.
Но вызов setVisibility(View.VISIBLE) приводит к тому, что панель якобы становится видимой (getVisibility() == View.VISIBLE), но на экране не появляется. Вероятно, осташись за пределами видимой области.
Как исправить?
http://www.cyberforum.ru/android-dev/thread1753886.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2014, 18:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос После setVisibility(View.GONE) не могу сделать элемент видимым (Программирование Android):

Layout, button, setVisibility
Как скрыть одну кнопку - понятно, но вот проблема.... как скрыть сразу целую...

SetVisibility не работает для RadioGroup
Здравствуйте. Почему-то команда setVisibility(9) не работает для radioGroup.....

Как сделать элемент видимым?
Здравствуйте! Хочу скрыть ссылку на AdminPAge для пользователей и открыть ее...

По щелчку по ссылке достать ближайший элемент с классом menu и сделать его видимым
навеяло отсюда http://www.cyberforum.ru/javascript-jquery/thread754958.html у...

Вместо navigation bar с table view хочу сделать просто view controller
добрый вечер. В xcode есть стандартный темплейт с navigation controller, ...

8
ASDFD12
57 / 57 / 14
Регистрация: 15.09.2012
Сообщений: 542
16.02.2014, 18:44 #2
почему бы не использовать FrameLayout
0
Slon747
59 / 37 / 2
Регистрация: 24.08.2013
Сообщений: 474
16.02.2014, 19:46  [ТС] #3
Цитата Сообщение от ASDFD12 Посмотреть сообщение
почему бы не использовать FrameLayout
А в чем разница?
Разместил LinearLayout внутри FrameLayout и скрываю/показываю панель.
То же самое. Пока обычная ориентация все нормально. Но после смены на ладшафт, видимая панель остается где-то за пределами экрана
0
ASDFD12
57 / 57 / 14
Регистрация: 15.09.2012
Сообщений: 542
16.02.2014, 20:39 #4
можешь дать исходники

Добавлено через 4 минуты
если не критично можешь запретить смену ориентации
0
Slon747
59 / 37 / 2
Регистрация: 24.08.2013
Сообщений: 474
17.02.2014, 00:33  [ТС] #5
Вероятно дело в том, что объект, занимающий экран - fragment, на который выводится карта.
Я даже попробовал его положить в LinearLayout и к этому лайоут применил GONE. Карта не исчезла и продолжала занимать всю область.

Цитата Сообщение от ASDFD12 Посмотреть сообщение
если не критично можешь запретить смену ориентации
Смену ориентации запретить не могу.
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
17.02.2014, 23:57 #6
Цитата Сообщение от Slon747 Посмотреть сообщение
Как исправить?
А какой у вас код layout'a ?
0
Slon747
59 / 37 / 2
Регистрация: 24.08.2013
Сообщений: 474
18.02.2014, 00:34  [ТС] #7
Цитата Сообщение от Digetix Посмотреть сообщение
А какой у вас код layout'a ?
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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
 
    <fragment
            android:id="@+id/map"
            android:name="com.google.android.gms.maps.SupportMapFragment"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1">
    </fragment>
 
 
    <HorizontalScrollView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:id="@+id/horizontalScrollView"
            android:fillViewport="true">
 
        <LinearLayout
                android:id="@+id/panelTools"
                style="@style/PanelTools">
 
            <Button
                    android:id="@+id/btnMapType"
                    android:layout_height="48dp"
                    android:layout_width="wrap_content"
                    android:layout_marginTop="2dp"
                    android:layout_gravity="center"
                    android:text="@string/MapType"
                    android:onClick="btnClick"/>
 
        </LinearLayout>
 
</HorizontalScrollView>
 
</LinearLayout>
В panelTools кнопок больше, тут для краткости оставил одну.
Хочу при ладшафте скрывать нижнюю панель с кнопками, чтобы не занимать пространство карты,
а прикасании карты в onMapClick(LatLng point) возвращать панель.
В обычной ориентации скрывается и показывается без проблем.
Но стоит повернуть на бок, как скрывается, но не показывается (хотя getVisibility() говорит, что видимое).

Экспериментировал так.
По таймеру скрывал/показывал - работает.
Далее по таймеру скрывал, при касании взводил признак, что в следующий раз нужно показать панель
и по таймеру же пытался показать. В ландшафте опять карта на весь экран.
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
18.02.2014, 23:50 #8
Цитата Сообщение от Slon747 Посмотреть сообщение
Но стоит повернуть на бок
А в манифесте писали, чтоб активити не перерисовывать при смене ориентации?
Пробовали скрывать HorizontalScrollView, а не слой с кнопками?
1
Slon747
59 / 37 / 2
Регистрация: 24.08.2013
Сообщений: 474
19.02.2014, 00:34  [ТС] #9
Цитата Сообщение от Digetix Посмотреть сообщение
Пробовали скрывать HorizontalScrollView, а не слой с кнопками?
Пробовал, не помогло.

Цитата Сообщение от Digetix Посмотреть сообщение
А в манифесте писали, чтоб активити не перерисовывать при смене ориентации?
Ой. Я только что прописал это, но совсем по другой причине.
Сейчас попробовал фокус с панелью - помогло.
Большое спасибо!
0
19.02.2014, 00:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2014, 00:34
Привет! Вот еще темы с решениями:

Сделать поле видимым [jQuery]
Здравствуйте. У меня есть поле: &lt;tr style=&quot;display: none&quot;&gt;&lt;td...

Как сделать поле не видимым?
смысл в чем на сайте отображается цена, как сделать поле не видимым для...

сделать видимым разделитель splitcontainer
Как сделать видимым разделитель? Его можно обнаружить лишь по изменению вида...

Возможно ли сделать видимым value в ListBox?
Добрый день, подскажите пожалуйста решение задачки: дан ListBox уже с тремя...


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

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

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