Страница 1 из 1
Стиль заголовка диалога
Добавлено: 28 фев 2013, 12:58
Volha
Здравствуйте
Может кто-то написать пример как поменять стиль заголовка у диалога?
Читала статью
http://habrahabr.ru/post/117513/
Лазила в
http://developer.android.com/reference/ ... .attr.html
Но никак не пойму в каком порядке и что писать( А автоподсказка типа parent="android:style/" говорит, ассист не работает в данном месте
Файл ресурсов в папке values
Код: Выделить всё
<resources>
<style name="SamoDialogStyle" parent="android:style/Dialog.">
</style>
</resources>
Re: Стиль заголовка диалога
Добавлено: 28 фев 2013, 13:33
rezak90
если дождётесь вечера то напишу (если кто не опередит меня)
Re: Стиль заголовка диалога
Добавлено: 28 фев 2013, 13:52
Volha
Конечно дождусь)
Re: Стиль заголовка диалога
Добавлено: 28 фев 2013, 14:38
Foenix
Re: Стиль заголовка диалога
Добавлено: 28 фев 2013, 22:38
rezak90
Код: Выделить всё
<!-- AlertDialog -->
<style name="Theme.App.Dialog">
<item name="android:windowTitleStyle">@style/Theme.App.DialogWindowTitle</item>
</style>
Код: Выделить всё
<style name="Theme.App.DialogWindowTitle">
<item name="android:maxLines">1</item>
<item name="android:scrollHorizontally">true</item>
<item name="android:textAppearance">@style/Theme.App.DialogTitle</item>
</style>
Код: Выделить всё
<style name="Theme.App.DialogTitle">
<item name="android:textSize">16spt</item>
<item name="android:textColor">@color/black</item>
<item name="android:gravity">center</item>
</style>
Theme.App.Dialog это стиль AlertDialog'a, дальше всё интуитивно понятно, пользуйтесь на здоровье

Re: Стиль заголовка диалога
Добавлено: 28 фев 2013, 22:51
neoksi
rezak90 писал(а):Theme.App.Dialog это стиль AlertDialog'a, дальше всё интуитивно понятно, пользуйтесь на здоровье

Погодика, дальше мне лично интуитивно не понятно =)
Далее назначать при создании диалога тему или можно её прописать через xml?
Просто следующая кастомизация диалогов, у меня работает на 2 версии андроида, но на 4 не действует...
Код: Выделить всё
<style name="AppTheme" parent="@android:style/Theme.Holo.Light.NoActionBar">
<item name="android:alertDialogStyle">@style/myDialog</item>
</style>
Код: Выделить всё
<style name="myDialog">
<item name="android:fullDark">@drawable/dialog_body</item>
<item name="android:topDark">@drawable/dialog_title</item>
<item name="android:centerDark">@drawable/dialog_body</item>
<item name="android:bottomDark">@drawable/dialog_footer</item>
<item name="android:fullBright">@drawable/dialog_body</item>
<item name="android:centerBright">@drawable/dialog_body</item>
<item name="android:bottomBright">@drawable/dialog_footer</item>
<item name="android:bottomMedium">@drawable/dialog_footer</item>
<item name="android:centerMedium">@drawable/dialog_body</item>
</style>
Re: Стиль заголовка диалога
Добавлено: 28 фев 2013, 23:01
rezak90
завтыкал малёха, Theme.App.Dialog это тема диалога а не алертдиалога, но не в этом суть
а диалоги у меня выглядят одинаково на всех версиях андроида, алертдиалогу я тему кидаю в конструктор так как у меня несколько стилей диалога, может быть на двойке не подтягивает автоматом стиль
Re: Стиль заголовка диалога
Добавлено: 28 фев 2013, 23:08
neoksi
Вот на двойке как раз автоматом подтягивается на все виды диалогов, а на остальных уже нет. Заметил случайно, когда у друга приложение на четверке увидел. Думал в xml можно прописать, но раз нет, то буду через конструктор в следующих версиях закидывать.
Re: Стиль заголовка диалога
Добавлено: 01 мар 2013, 10:22
Volha
Оу. Большое спасибо за помощь)
Стиль диалога поменялся, но теперь меня мучает другая проблема
Мой диалог теперь открывается во весь экран, как это можно отменить?)
И можно еще пояснения кода?
windowTitleStyle - это системная константа? Почему она не выходит у меня во всплывающей подсказке? Как еще можно искать такие константы, кроме как пристально изучая
http://developer.android.com/reference/ ... style.html ?
Re: Стиль заголовка диалога
Добавлено: 01 мар 2013, 10:27
rezak90
Volha писал(а):Оу. Большое спасибо за помощь)
Стиль диалога поменялся, но теперь меня мучает другая проблема
Мой диалог теперь открывается во весь экран, как это можно отменить?)
И можно еще пояснения кода?
windowTitleStyle - это системная константа? Почему она не выходит у меня во всплывающей подсказке? Как еще можно искать такие константы, кроме как пристально изучая
http://developer.android.com/reference/ ... style.html ?
искать в сдк у себя локально или онлайн
https://github.com/android/platform_fra ... re/res/res
задать размеры диалога можна переопределив show в AlertDialog
Код: Выделить всё
@Override
public void show()
{
super.show();
WindowManager.LayoutParams lp = getDialogPosition();
lp.width = 450;
lp.height = 700;
this.getWindow().setAttributes(lp);
styleButton();
}
Re: Стиль заголовка диалога
Добавлено: 01 мар 2013, 16:15
Volha
Весь день мучаюсь со стилизацией диалогов %)
Теперь они еще больше отличаются друг от друга, чем раньше(
Re: Стиль заголовка диалога
Добавлено: 01 мар 2013, 17:33
rezak90
жалобы жалобами, но если есть конкретная проблема то оставляйте код или проект и будем смотреть
Re: Стиль заголовка диалога
Добавлено: 01 мар 2013, 17:44
Volha
У меня очень большой проект... Если не страшно, я буду очень благодарна, если посмотрите)
С меня море благодарности, денежка на телефон или тортик)
Re: Стиль заголовка диалога
Добавлено: 12 мар 2013, 23:25
rezak90
neoksi
стили не подхватываются если передать не правильный контекст, например если контекст апликейшена а не контекст активити, так как стиль подтягивается для данной активити то и контекст должен быть её... вот у меня была такая проблема, долго мучился.
Re: Стиль заголовка диалога
Добавлено: 12 мар 2013, 23:31
neoksi
rezak90 писал(а):neoksi
стили не подхватываются если передать не правильный контекст, например если контекст апликейшена а не контекст активити, так как стиль подтягивается для данной активити то и контекст должен быть её... вот у меня была такая проблема, долго мучился.
А можно поподробней, контекст я в основном извлекаю через this, а стили прописаны для всего приложения через xml и манифест.
Re: Стиль заголовка диалога
Добавлено: 12 мар 2013, 23:57
rezak90
если все стили через xml а не передаются с конструктором диалога то тогда наверное стоит getApplicationContext() использовать
у меня просто стиль передаётся в конструктор то и почему то контекст нужен был активити this, с getApplicationContext() не работало. Попробуй поиграться, может запашет.