Страница 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
если я правильно вопрос поняла
http://developer.android.com/reference/ ... asicDialog
Я так меняла.

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() не работало. Попробуй поиграться, может запашет.