Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
 Аватар для dubok79
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 587

Кастомизация Spinner

17.11.2013, 13:19. Показов 5035. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь изменить внешний вид spinner
Сделал для него стиль вида

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    <style name="spinner">
        <item name="android:background">@drawable/spinner_selector</item>
    <item name="android:layout_marginLeft">3dp</item>
    <item name="android:layout_marginRight">3dp</item>
    <item name="android:layout_marginTop">2dp</item>
    <item name="android:layout_marginBottom">2dp</item>
    <item name="android:paddingLeft">2dp</item>
    <item name="android:paddingRight">15dp</item>
    <item name="android:paddingTop">3dp</item>
    <item name="android:paddingBottom">3dp</item>
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_gravity">left</item>
    </style>
spinner_selector.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <layer-list>
            <item>
                <shape>
                    <stroke 
                        android:width="1dp" 
                        android:color="#77dd77" />
                    <solid
                        android:color="#fff" />
                </shape>
            </item>
            <item>
                <bitmap 
                    android:gravity="bottom|right" 
                    android:src="@drawable/spinner_arrow" />
            </item>
        </layer-list>
    </item>
</selector>
spinner_arrow - PNG рисунок размером 20х20

Ставлю все это в табличку

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
            <TableLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >
 
                <TableRow
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" >
 
                    <TextView
                        android:id="@+id/txt1"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="@string/txt1" 
                        android:layout_weight="0.5"/>
        
                    <Spinner
                        android:id="@+id/spn1"
                        android:layout_weight="0.5"
                        style="@style/spinner"/>
                    
                </TableRow>
 
                <TableRow
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" >
 
                    <TextView
                        android:id="@+id/txt2"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="0.5"
                        android:text="@string/txt2" />
        
                    <Spinner
                        android:id="@+id/spn2"
                        android:layout_weight="0.5"
                        style="@style/spinner"/>
                </TableRow>
            </TableLayout>
В этом случае все это выглядит так

А если убрать стиль, то так

Как добиться, что бы стиль был свой, но он растягивался на всю ячейку, а не по содержанию?
Спасибо.

P.S. Причем, если спинер вынести из таблички, то он растянется на всю ширину, как и планировалось.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.11.2013, 13:19
Ответы с готовыми решениями:

Кастомизация SeekBar?
Добрый день! нужно кастомизировать seekbar, знаю (видел) много примеров, но как сделать &quot;прогресс до&quot; и &quot;прогресс...

Кастомизация списков
В инете есть множество примеров изменение внешнего вида ListView с помощью кастомизации и разработкой собственного адаптера. Но везде...

Кастомизация ListView
Добрый день. Перерыл пол инета но так и не нашел нормальный мануал как можно скастомизировать ListView. Прошу не ругаться, реально не...

13
 Аватар для dubok79
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 587
17.11.2013, 14:06  [ТС]
И еще, покажите пожалуйста пример, как распределить элементы в таблице 2х2, что бы все ячейки были одинакового размера по ширине, но в 1 столбце TextView, а во втором EditText
Заранее спасибо.

Совсем запутался, все криво у меня получается.
0
106 / 106 / 1
Регистрация: 09.04.2012
Сообщений: 655
18.11.2013, 01:43
Цитата Сообщение от dubok79 Посмотреть сообщение
как распределить элементы в таблице 2х2, что бы все ячейки были одинакового размера по ширине, но в 1 столбце TextView, а во втором EditText
Сделать для них всех
XML
1
android:layout_weight="1"
0
 Аватар для dubok79
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 587
18.11.2013, 10:44  [ТС]
Digetix, не, не помогает все одно выглядит как на вложенном мною первом рисунке
0
Модератор
 Аватар для vxg
3407 / 2178 / 354
Регистрация: 13.01.2012
Сообщений: 8,448
18.11.2013, 11:04
Цитата Сообщение от dubok79 Посмотреть сообщение
Как добиться, что бы стиль был свой, но он растягивался на всю ячейку, а не по содержанию?
может что то вроде
android:layout_alignParentRight="true"
0
 Аватар для dubok79
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 587
18.11.2013, 11:26  [ТС]
vxg, у меня используется LinearLayout, там нет такого параметра, пишет: Invalid layout param in a TableRow: layout_alignParentRight

Не хотелось бы все равнять этими привязками, хотя с другой стороны все выглядит ровнее
0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
18.11.2013, 12:21
Цитата Сообщение от dubok79 Посмотреть сообщение
Digetix, не, не помогает все одно выглядит как на вложенном мною первом рисунке
XML
1
2
3
4
<Spinner
                        android:id="@+id/spn2"
                        android:layout_weight="0.5"
                        style="@style/spinner"/>
а зачем тут android:layout_weight="0.5" ?
0
 Аватар для dubok79
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 587
18.11.2013, 12:41  [ТС]
verylazy, каждому свой вес, по 50% на брата. Или я не правильно это понимаю?
Да я честно говоря уже все убирал, одно рисует не растягивая. Если использовать стандартную тему то все ок. Попробую еще ее парент запользовать.
0
106 / 106 / 1
Регистрация: 09.04.2012
Сообщений: 655
18.11.2013, 18:01
Цитата Сообщение от dubok79 Посмотреть сообщение
каждому свой вес, по 50% на брата
Каждому своё это
XML
1
android:layout_weight="1"
0
 Аватар для dubok79
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 587
18.11.2013, 18:22  [ТС]
Digetix, прошу прощения я не понял о чем вы
0
106 / 106 / 1
Регистрация: 09.04.2012
Сообщений: 655
18.11.2013, 18:36
Ну так что у вас получилось?
0
 Аватар для dubok79
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 587
18.11.2013, 20:24  [ТС]
Пока ничего хорошего. Кастомный спинер по прежнему имеет ширину выбранной в нем позиции.

Добавлено через 12 минут
Причем в предварительном просмотре в эклипсе, все отображается как и задумывалось. А при установке на смарт такая ерунда. Даже EditText работает прекрасно, хотя по сути все те же настройки, что и у спинера.

Добавлено через 1 час 34 минуты
Ну что, никто не поможет?
0
Модератор
 Аватар для vxg
3407 / 2178 / 354
Регистрация: 13.01.2012
Сообщений: 8,448
18.11.2013, 20:26
Цитата Сообщение от dubok79 Посмотреть сообщение
у меня используется LinearLayout
используйте RelativeLayout
0
 Аватар для dubok79
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 587
19.11.2013, 11:02  [ТС]

не люблю я его
попробую...если нет другого выхода
спс

Добавлено через 14 часов 35 минут
Все, сделал. Вместо TableLayout использовал RelativeLayout. Чуть сложнее, но зато все как надо показывает. Всем спасибо.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.11.2013, 11:02
Помогаю со студенческими работами здесь

Кастомизация ListView
Добрый день. Создаю прокручиваемый список, в каждом поле четыре строки, проблема в написании кода. Создал в ресурсе strings четыре...

Кастомизация ListView
http://imglink.ru/pictures/15-06-14/3d97212a44f93f016eb14cfbf868d023.jpg Как реализовать кастомизацию списка, как в офф приложении...

кастомизация приложения
Когда вся техническая часть приложения написана и работает, остаётся только сделать приложение уникальным внешне, то есть превратить его из...

Кастомизация табов в actionbar
необходимо чтобы табы выглядели примерно как на приложенном фото, как это можно сделать

Кастомизация прогресс-бара
Добрый день. Каким образом засунуть в прогресс, вместо колора изображение? Код прилагаю: &lt;layer-list...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru