Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Krugera
23 / 23 / 1
Регистрация: 14.11.2011
Сообщений: 117
#1

Изменение стилей для элементов showDialog - Программирование Android

17.03.2016, 00:05. Просмотров 273. Ответов 7
Метки нет (Все метки)

Здравствуйте. Как изменить стили элементов showDialog? Есть элементы диалога, в виде кнопок(скрин приложу ниже). Как изменить цвет кнопки или цвет букв? Что не прописываю, все применяется только к заголовку.

Может виновата тема?


Стили:

XML
1
2
3
4
5
6
7
<style name="CustomAlertDialog" parent="android:style/Theme.Dialog">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:backgroundDimEnabled">true</item>
        <item name="android:width">300dip</item>
        <item name="android:textColor">#000000</item>
    </style>
Код создания диалога :

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 @Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
            case 1:
                final String[] mCatsName = {"Кнопка1", "Кнопка2", "Кнопка3"};
                AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.CustomAlertDialog);
                builder.setTitle("Сообщение!");
                builder.setItems(mCatsName, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int item) {
                        // TODO Auto-generated method stub
 
                    }
                });
                builder.setCancelable(true);
                return builder.create();
            default:
                return null;
        }
 
    }

Как изменить стиль кнопок?
0
Миниатюры
Изменение стилей для элементов showDialog  
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2016, 00:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Изменение стилей для элементов showDialog (Программирование Android):

Прозрачный showDialog - Программирование Android
Здравствуйте,как сделать прозрачным showDialog? В интернете почитал как это сделать, и нашел только про применения стиля к showDialog.Стиль...

Устаревший метод showDialog() в DatePickerDialog - Программирование Android
Я изучаю только андроид и у меня возникла проблема. Мой eclipse показывает что метод showDialog() устарел и не хочет запускать программу в...

Изменение стилей элементов - jQuery
Здравствуйте, у меня такая задача: есть код HTML &lt;span &gt;&lt;input type=&quot;checkbox&quot; value=&quot;1&quot; /&gt;&lt;/span&gt; &lt;div &gt; &lt;/div&gt; он выводится...

Изменение стилей элементов с помощью hover - HTML, CSS
Доброй ночи. Есть следующий блок: &lt;div class='main-block'&gt; &lt;div class='block-1'&gt; &lt;/div&gt; &lt;div class='block-2'&gt; ...

Плавное изменение стилей для блока - jQuery
Проблема такая нужно плавно изменить стили для блока с классом .grid, рамка меняется на ура, но нужно сменить вот эти стили border:...

Изменение стилей страницы в WebBrowser, чтобы они применялись и для хостинга - Visual Basic .NET
Добрый день, обращаюсь за помощью. Возникла проблема, мне нужно удалить определенный элемент с сайта по средствам CSS, думаю наиболее...

7
OlegJV
103 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 472
17.03.2016, 00:19 #2
Сейчас в Берлине модно разливать чай через ситечко. А также использовать DialogFragment. А в нем рисовать свой layout и извращаться над ним любыми способами. Но если очень сильно хочется, то можно и в обычном диалоге написать что-то вроде:

Java
1
2
3
4
5
6
7
8
9
protected Dialog onCreateDialog(int id) {
 
//..........
 
dialog.setContentView(R.layout.dialog);
 
    Button btn = (Button) dialog.findViewById(R.id.dialogBtn);
    btn.setText("Текст");
        // И так далее...
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
17.03.2016, 17:40 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
вот класс, стиль я взял из поста выше
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class MyDialog extends AlertDialog.Builder {
 
    final String[] mCatsName = {"Кнопка1", "Кнопка2", "Кнопка3"};
 
    public MyDialog(Context context) {
        super(context, R.style.CustomAlertDialog);
        setTitle("Сообщение!");
        setItems(mCatsName, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int item) {
                // bla bla
            }
        });
    }
}
switch-case сам потом добавишь по вкусу
диалог создается просто
Java
1
new MyDialog(context).show();
кнопки получаются прозрачные
1
Krugera
23 / 23 / 1
Регистрация: 14.11.2011
Сообщений: 117
17.03.2016, 18:56  [ТС] #4
Паблито, Все так же написал,но кнопки не изменились. Все так же кроме вызова, context оно подчеркнуло и в место него я попробовал использовать MainActivity.this Как сделать, чтоб все работало как надо?

OlegJV, Посмотрел применение DialogFragment и буду пробовать использовать. Я просто и не представляю, как сделать так же как у меня на скрине. Буду пытаться делать.
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
17.03.2016, 19:00 #5
если вызов идет из активити то надо писать просто this
Цитата Сообщение от Krugera Посмотреть сообщение
Как сделать, чтоб все работало как надо?
включить голову
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
17.03.2016, 19:07 #6
в импортах должно быть
Java
1
import android.support.v7.app.AlertDialog;
ахтунг!!! не
Java
1
import android.app.AlertDialog;
а именно v7
Изменение стилей для элементов showDialog
1
Krugera
23 / 23 / 1
Регистрация: 14.11.2011
Сообщений: 117
17.03.2016, 19:08  [ТС] #7
Цитата Сообщение от Паблито Посмотреть сообщение
включить голову
Т.е. ошибка при вызове метода? неправильный параметр передаю?
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
17.03.2016, 19:24 #8
что бы поменять цвет надписей на кнопках, которые задаются через setItems, надо в стиль добавить
XML
1
<item name="textColorAlertDialogListItem">цвет</item>
1
17.03.2016, 19:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2016, 19:24
Привет! Вот еще темы с ответами:

Приоритет CSS-стилей для элементов - HTML, CSS
Здравствуйте.Подскажите пожалуйста разобраться с заданием на HTMLBOOK. Вот само задание. 1. Какой цвет будет у текста списка в...

Изменение стилей - HTML, CSS
Доброго всем времени суток. Собственно, есть следующая тема для WP: http://demo.wpzoom.com/photoria/ Очень хотелось бы узнать,...

Изменение стилей модулей - Joomla
Подскажите пожалуйста как правильно задавать свои стили CSS модулям.Видел видео курс где из задают с помощью переопределения шаблона...

Изменение стилей блоков - JavaScript
день добрый еще вопросик. Есть выпадающее меню в котором при выборе соответствующего пункта открывается определенный див. Но мне бы сделать...


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

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

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