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

Как переопределить диалоговое окно с целью кастомизации? - Программирование Android

01.08.2015, 22:41. Просмотров 1246. Ответов 25
Метки нет (Все метки)

Здравствуйте!
Решил в своем приложении переопределить тему Theme.Holo.Light.NoActionBar. С кнопками получилось, а вот как изменить диалоговое окно?
Как переопределить диалоговое окно с целью кастомизации?
Мне нужно сделать эту горизонтальную полосу фиолетовой.
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2015, 22:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как переопределить диалоговое окно с целью кастомизации? (Программирование Android):

Как создать диалоговое окно без сообщения внутри?
Добрый день, как создать диалоговое окно как здесь, только без сообщения...

Диалоговое окно
Можно как нибудь вызвать вот это диалоговое окно переключения ?

диалоговое окно
необходимо создать что-то вроде alertdialog с двумя кнопками, но так, что-бы...

Диалоговое окно
Как создать диалоговое окно с CheckBoxam'и и кнопками в Studio?

Из пункта меню в диалоговое окно
Добрый вечер...подскажите как сделать так, чтоб при нажатии на пункт из меню,...

Вывод в диалоговое окно текста и переменной
Нужно вывести в диалоговое окно Текст и значение переменной. Вот, на подобии...

25
Ханасака
10 / 10 / 1
Регистрация: 12.07.2013
Сообщений: 147
13.08.2015, 16:57  [ТС] #2
Может кто знает, какой атрибут отвечает за эту полосу?

Добавлено через 52 минуты
Вот нашел в файле \sdk\platforms\android-14\data\res\values\themes.xml в описании темы Theme.Holo.Light параметр
XML
1
<item name="dialogTitleDecorLayout">@layout/dialog_title_holo</item>
.
Открыв, увидел макет:
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
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:fitsSystemWindows="true">
    <TextView android:id="@android:id/title" style="?android:attr/windowTitleStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="@android:dimen/alert_dialog_title_height"
        android:paddingLeft="16dip"
        android:paddingRight="16dip"
        android:gravity="center_vertical|left" />
    <View android:id="@+id/titleDivider"
            android:layout_width="match_parent"
            android:layout_height="2dip"
            android:background="@android:color/holo_blue_light" />
    <FrameLayout
        android:layout_width="match_parent" android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:foreground="?android:attr/windowContentOverlay">
        <FrameLayout android:id="@android:id/content"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </FrameLayout>
</LinearLayout>
Вроде бы все хорошо, но при описании своей темы эклипс ругается на добавление подобной строки
XML
1
<item name="dialogTitleDecorLayout">@layout/dialog_title_holo</item>
Что интересно, програмно можно установить свой макет на title, но при этом подтянется макет dialog_custom_title_holo.xml в котором также есть проклятый
XML
1
2
3
4
<View android:id="@+id/titleDivider"
            android:layout_width="match_parent"
            android:layout_height="2dip"
            android:background="@android:color/holo_blue_light" />
Неужели придется писать свой диалог?
Кроме того, нужно переопределить и диалог выбора времени и даты - полоса есть и там...
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,072
14.08.2015, 07:52 #3
Поковыряй библиотеки на гитхабе, там полно кастомизаций, в том числе и диалоговых окон.
0
Pablito
2653 / 2135 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
14.08.2015, 08:18 #4
если задать тему приложения AppCompat (любую) то ВСЕ диалоги примут нормальный вид, не будет там никаких разделительных полосок

кроме того, при создании диалога с помощью Builder-а можно указать любую свою разметку через setView(либо вью, либо id)
0
Soprano6111
2 / 2 / 0
Регистрация: 09.04.2015
Сообщений: 90
14.08.2015, 09:55 #5
123
0
Soprano6111
2 / 2 / 0
Регистрация: 09.04.2015
Сообщений: 90
14.08.2015, 09:57 #6
123
0
Миниатюры
Как переопределить диалоговое окно с целью кастомизации?  
Soprano6111
2 / 2 / 0
Регистрация: 09.04.2015
Сообщений: 90
14.08.2015, 09:57 #7
Могу прислать код как сделать рамку если нужно)
0
Ханасака
10 / 10 / 1
Регистрация: 12.07.2013
Сообщений: 147
14.08.2015, 16:47  [ТС] #8
Цитата Сообщение от Rube Посмотреть сообщение
Поковыряй библиотеки на гитхабе, там полно кастомизаций, в том числе и диалоговых окон
Как их найти? Перерыл гугл по этому поводу
Цитата Сообщение от Паблито Посмотреть сообщение
ВСЕ диалоги примут нормальный вид
Нормальный - это какой? Под дизайн приложения идеально подходят окна темы Theme.Holo.Light...Неужели не предусмотрено изменение цветов? Вот тут можно выбирать цвета различных View для этой темы, но для диалога нету...
Цитата Сообщение от Soprano6111 Посмотреть сообщение
Могу прислать код как сделать рамку если нужно)
А как быть с диалогами выбора времени и даты?
0
Pablito
2653 / 2135 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
14.08.2015, 16:53 #9
Цитата Сообщение от Ханасака Посмотреть сообщение
Нормальный - это какой?
вот такой

Добавлено через 1 минуту
Цитата Сообщение от Ханасака Посмотреть сообщение
А как быть с диалогами выбора времени и даты?
я вот такой использовал
1
Ханасака
10 / 10 / 1
Регистрация: 12.07.2013
Сообщений: 147
14.08.2015, 17:10  [ТС] #10
Цитата Сообщение от Паблито Посмотреть сообщение
если задать тему приложения AppCompat
Чет эклипс упорно не хотит задавать подобную тему, очевидно не видит библиотеки...не подскажите как ее подключить?
0
Pablito
2653 / 2135 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
14.08.2015, 17:13 #11
на попытку подключить support/design library в эклипсе была потрачена неделя и благодаря этому я перешел на нормальные ide - intellij idea и android studio, где эти библиотеки подключаются за 2 минуты максимум

Добавлено через 1 минуту
андроид студио это вообще бомба, там наконец сделали рендеринг в превью всех новых этих классов - все работает как часы
1
Ханасака
10 / 10 / 1
Регистрация: 12.07.2013
Сообщений: 147
14.08.2015, 17:14  [ТС] #12
Цитата Сообщение от Паблито Посмотреть сообщение
нормальные ide - intellij idea и android studio
Пробовал. Машина слабовата, эклипс всеж меньше подгружает...
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,072
17.08.2015, 10:15 #13
Цитата Сообщение от Ханасака Посмотреть сообщение
Пробовал. Машина слабовата, эклипс всеж меньше подгружает...
Это точно, для АС машина мощная нужна.
Цитата Сообщение от Ханасака Посмотреть сообщение
Как их найти? Перерыл гугл по этому поводу
Не гугл, а гитхаб надо ковырять, см. ссылку от Паблито,
0
Ханасака
10 / 10 / 1
Регистрация: 12.07.2013
Сообщений: 147
17.08.2015, 23:40  [ТС] #14
Цитата Сообщение от Паблито Посмотреть сообщение
я вот такой использовал
Еще интересно, что говорит лицензия об использовании подобных штук в приложениях для коммерческих целей?
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,072
18.08.2015, 07:21 #15
Цитата Сообщение от Ханасака Посмотреть сообщение
что говорит лицензия
Внизу там чего-то написано.
1
Ханасака
10 / 10 / 1
Регистрация: 12.07.2013
Сообщений: 147
26.08.2015, 19:42  [ТС] #16
Спасибо, наберусь терпения и буду пытаться работать на студии!
0
Ханасака
10 / 10 / 1
Регистрация: 12.07.2013
Сообщений: 147
26.08.2015, 20:12  [ТС] #17
Цитата Сообщение от Паблито Посмотреть сообщение
если задать тему приложения AppCompat (любую) то ВСЕ диалоги примут нормальный вид
Как переопределить диалоговое окно с целью кастомизации?
Установил свою тему, parent Theme.AppCompat
0
Pablito
2653 / 2135 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
26.08.2015, 20:43 #18
в импорте какой прописан?
0
Ханасака
10 / 10 / 1
Регистрация: 12.07.2013
Сообщений: 147
27.08.2015, 01:43  [ТС] #19
Как переопределить диалоговое окно с целью кастомизации?
Теперь другой вопрос: как изменить цвет букв в словах "Да" и "Нет"?
0
Ханасака
10 / 10 / 1
Регистрация: 12.07.2013
Сообщений: 147
27.08.2015, 03:07  [ТС] #20
Цитата Сообщение от Ханасака Посмотреть сообщение
если задать тему приложения AppCompat (любую) то ВСЕ диалоги примут нормальный вид
Жаль, что это не относится к диалогам выбора времени и даты.
0
27.08.2015, 03:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.08.2015, 03:07
Привет! Вот еще темы с решениями:

Передать значение переменной в диалоговое окно
Здравствуйте. Подскажите, пожалуйста, в чем может быть ошибка: Передаю...

Диалоговое окно при выборе пункта меню
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;menu...

Не получается открыть диалоговое окно, созданное в отдельном классе
Всем привет! Учусь программировать под андроид, еще почти ничего не понимаю....

Как сделать диалоговое окно?
Мне нужно диалоговое окно чтобы было 2 кнопки да и нет.


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

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

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