Стиль заголовка диалога

Интерфейс, диалоги, темы, стили, меню
Ответить
Volha
Сообщения: 61
Зарегистрирован: 20 авг 2012, 17:39

Стиль заголовка диалога

Сообщение Volha » 28 фев 2013, 12:58

Здравствуйте

Может кто-то написать пример как поменять стиль заголовка у диалога?
Читала статью 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>

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Стиль заголовка диалога

Сообщение rezak90 » 28 фев 2013, 13:33

если дождётесь вечера то напишу (если кто не опередит меня)
R.id.team
Политика на форуме запрещена

Volha
Сообщения: 61
Зарегистрирован: 20 авг 2012, 17:39

Re: Стиль заголовка диалога

Сообщение Volha » 28 фев 2013, 13:52

Конечно дождусь)

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Стиль заголовка диалога

Сообщение Foenix » 28 фев 2013, 14:38

если я правильно вопрос поняла
http://developer.android.com/reference/ ... asicDialog
Я так меняла.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Стиль заголовка диалога

Сообщение rezak90 » 28 фев 2013, 22:38

Код: Выделить всё

<!-- 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, дальше всё интуитивно понятно, пользуйтесь на здоровье :)
R.id.team
Политика на форуме запрещена

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: Стиль заголовка диалога

Сообщение neoksi » 28 фев 2013, 22:51

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>

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Стиль заголовка диалога

Сообщение rezak90 » 28 фев 2013, 23:01

завтыкал малёха, Theme.App.Dialog это тема диалога а не алертдиалога, но не в этом суть
а диалоги у меня выглядят одинаково на всех версиях андроида, алертдиалогу я тему кидаю в конструктор так как у меня несколько стилей диалога, может быть на двойке не подтягивает автоматом стиль
R.id.team
Политика на форуме запрещена

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: Стиль заголовка диалога

Сообщение neoksi » 28 фев 2013, 23:08

Вот на двойке как раз автоматом подтягивается на все виды диалогов, а на остальных уже нет. Заметил случайно, когда у друга приложение на четверке увидел. Думал в xml можно прописать, но раз нет, то буду через конструктор в следующих версиях закидывать.

Volha
Сообщения: 61
Зарегистрирован: 20 авг 2012, 17:39

Re: Стиль заголовка диалога

Сообщение Volha » 01 мар 2013, 10:22

Оу. Большое спасибо за помощь)
Стиль диалога поменялся, но теперь меня мучает другая проблема :(
Мой диалог теперь открывается во весь экран, как это можно отменить?)
И можно еще пояснения кода?
windowTitleStyle - это системная константа? Почему она не выходит у меня во всплывающей подсказке? Как еще можно искать такие константы, кроме как пристально изучая http://developer.android.com/reference/ ... style.html ?

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Стиль заголовка диалога

Сообщение rezak90 » 01 мар 2013, 10:27

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();
	}
R.id.team
Политика на форуме запрещена

Volha
Сообщения: 61
Зарегистрирован: 20 авг 2012, 17:39

Re: Стиль заголовка диалога

Сообщение Volha » 01 мар 2013, 16:15

Весь день мучаюсь со стилизацией диалогов %)
Теперь они еще больше отличаются друг от друга, чем раньше(

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Стиль заголовка диалога

Сообщение rezak90 » 01 мар 2013, 17:33

жалобы жалобами, но если есть конкретная проблема то оставляйте код или проект и будем смотреть
R.id.team
Политика на форуме запрещена

Volha
Сообщения: 61
Зарегистрирован: 20 авг 2012, 17:39

Re: Стиль заголовка диалога

Сообщение Volha » 01 мар 2013, 17:44

У меня очень большой проект... Если не страшно, я буду очень благодарна, если посмотрите)
С меня море благодарности, денежка на телефон или тортик)

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Стиль заголовка диалога

Сообщение rezak90 » 12 мар 2013, 23:25

neoksi
стили не подхватываются если передать не правильный контекст, например если контекст апликейшена а не контекст активити, так как стиль подтягивается для данной активити то и контекст должен быть её... вот у меня была такая проблема, долго мучился.
R.id.team
Политика на форуме запрещена

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: Стиль заголовка диалога

Сообщение neoksi » 12 мар 2013, 23:31

rezak90 писал(а):neoksi
стили не подхватываются если передать не правильный контекст, например если контекст апликейшена а не контекст активити, так как стиль подтягивается для данной активити то и контекст должен быть её... вот у меня была такая проблема, долго мучился.
А можно поподробней, контекст я в основном извлекаю через this, а стили прописаны для всего приложения через xml и манифест.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Стиль заголовка диалога

Сообщение rezak90 » 12 мар 2013, 23:57

если все стили через xml а не передаются с конструктором диалога то тогда наверное стоит getApplicationContext() использовать
у меня просто стиль передаётся в конструктор то и почему то контекст нужен был активити this, с getApplicationContext() не работало. Попробуй поиграться, может запашет.
R.id.team
Политика на форуме запрещена

Ответить