Форум программистов, компьютерный форум CyberForum.ru

Xamarin

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
VV0lk
11 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 169
#1

Как изменить цвет текста в spinner? - Xamarin

07.08.2014, 14:16. Просмотров 1327. Ответов 1
Метки нет (Все метки)

Здравствуйте. Подскажите как изменить цвет текста выбранного элемента в spinner (когда он свернту).
Если делаю так:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
private void spinner_ItemSelected (object sender, AdapterView.ItemSelectedEventArgs e)
        {
            Spinner spinner = (Spinner)sender;
                    ((TextView)spinner.GetChildAt(0)).SetTextColor(Android.Graphics.Color.Magenta);  
                }

То всё работает как надо, но мне не хотелось бы создавать обработчик для каждого спиннера. А если делаю в OnCreate так:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
protected override void OnCreate (Bundle bundle)
        {
            base.OnCreate (bundle);
 
            // Set our view from the "main" layout resource
            SetContentView (Resource.Layout.Main);
 
            Spinner spinner_name_mashin = FindViewById<Spinner> (Resource.Id.spinner1);
                        ((TextView)spinner_name_mashin.GetChildAt(0)).SetTextColor(Android.Graphics.Color.Magenta); 
                        .....
                 }

То выскакивает исключение "object reference not set to an instance of an object". Как это лучше реализовать? Может как то через стиль? Он у меня сейчас задан следующим образом:
XML
1
2
3
4
5
6
7
8
9
10
<style name="spinner_style">
    <item name="android:background">@drawable/gradient_spinner</item>
    <item name="android:layout_marginLeft">5dp</item>
    <item name="android:layout_marginRight">5dp</item>
    <item name="android:layout_marginBottom">5dp</item>
    <item name="android:paddingLeft">6dp</item>
    <item name="android:paddingTop">4dp</item>
    <item name="android:paddingBottom">4dp</item>
    <item name="android:popupBackground">#1F728E</item>
</style>
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.08.2014, 14:16     Как изменить цвет текста в spinner?
Посмотрите здесь:

Xamarin Как изменить версию Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VV0lk
11 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 169
11.08.2014, 11:13  [ТС]     Как изменить цвет текста в spinner? #2
А если даже сделать в обработчике событий
C#
1
EventHandler<AdapterView.ItemSelectedEventArgs> (spinner_lang_ItemSelected);
изменение цвета как писалось выше:
C#
1
2
Spinner spinner = (Spinner)sender;
((TextView)spinner.GetChildAt(0)).SetTextColor(Android.Graphics.Color.Magenta);
То всё вроде хорошо, если не изменить ориентацию экрана. В этом случае опять таки выскакивает исключение: "object reference not set to an instance of an object".
Yandex
Объявления
11.08.2014, 11:13     Как изменить цвет текста в spinner?
Ответ Создать тему
Опции темы

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