В моем приложении для Android я использую счетчик, и я загрузил данные из базы данных SQLite в счетчик, и он работает правильно. Вот код для этого.
Spinner spinner = (Spinner) this.findViewById(R.id.spinner1);
List<String> list = new ArrayList<String>();
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String> (this,android.R.layout.simple_spinner_item, list);
cursor.moveToFirst();
list.add("All Lists");
if (cursor.getCount() > 0) {
for (int i = 0; i < cursor.getCount(); i++) {
keyList[i] = cursor.getString(cursor.getColumnIndex(AndroidOpenDbHelper.KEYWORD));
list.add(keyList[i]);
cursor.moveToNext();
}
}
Database.close();
cursor.close();
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
Теперь я хочу изменить цвет текста и размер текста данных счетчика. Я использовал следующие строки XML для моего тега счетчика в моем XML-файле, но он не работает.
android:textColor="@android:color/white"
android:textSize="11dp"
Как я могу изменить цвет текста и размер текста моего счетчика?
Ответы:
Создайте пользовательский XML-файл для вашего блесна.
spinner_item.xml:
Присвойте свой цвет и размер тексту в этом файле.
Теперь используйте этот файл, чтобы показать ваши элементы блесны как:
Вам не нужно устанавливать выпадающий ресурс. Это займет
spinner_item.xml
только показать свои вещи в блесне.источник
android:id="@+id/customSpinnerItemTextView"
. Если бы вы отладили это, вы бы знали об этом.Простой и четкий ...:
источник
Если все прядильщики могут иметь одинаковый цвет текста для своих элементов TextView, другой подход заключается в использовании собственного стиля для выпадающих элементов прядильщика:
В
res/values/styles.xml
:И определите свой собственный цвет в res / values / colors.xml:
источник
android:
вот так<item name="spinnerDropDownItemStyle">@style/mySpinnerItemStyle</item>
Вот ссылка, которая может помочь вам изменить цвет Spinner :
кликните сюда
Вам нужно создать свой собственный файл макета с пользовательским определением для элемента spinner spinner_item.xml :
Если вы хотите настроить элементы выпадающего списка, вам нужно будет создать новый файл макета. spinner_dropdown_item.xml :
И, наконец, еще одно изменение в объявлении счетчика:
Вот и все.
источник
android:textSize="20sp"
в первом фрагменте кода бесполезно: текст элемента управления определен вspinner_item.xml
Если вы работаете с android.support.v7.widget.AppCompatSpinner, вот самое простое проверенное решение с использованием стилей:
И стиль:
Единственным недостатком является Android: backgroundTint устанавливает цвет для стрелки раскрывающегося списка и фон раскрывающегося списка.
источник
style="@style/Widget.AppCompat.Spinner.Underlined"
но у вас есть толькоstyle name="Spinner"
...paddingStart
требуется API 17,backgroundTint
требуется API 21.Чтобы предотвратить отставание, вам нужно не только установить свойства текста в
onItemSelected
слушателе, но также и вonCreate
методе Activity (но это немного сложно).В частности, вам нужно вставить это
onCreate
после установки адаптера:И затем вставьте это в
onItemSelected
:Вот полный пример:
Для более подробной информации, смотрите мой вопрос .
источник
Если вы хотите, чтобы цвет текста изменялся только в выбранном элементе, то это может быть возможным обходным путем. Это сработало для меня и должно работать на вас.
источник
Для того, кому нужен только
Style
путьAppCompat
.Результат
styles.xml
your_spinner_layout.xml
Плюс
И если вы хотите установить
android:entries
программно с определенным стилем.Попробуй это.
Как и в коде, использование же
Context
сSpinner
наиболее важной вещью.источник
Чтобы изменить цвет текста счетчика:
источник
Вместо того, чтобы создавать собственный макет, чтобы получить маленький размер, и если вы хотите использовать внутренний LAYOUT Android для спиннера, вы должны использовать:
"android.R.layout.simple_gallery_item" вместо "android.R.layout.simple_spinner_item".
Это может уменьшить размер макета блесны. Это простой трюк.
Если вы хотите уменьшить размер выпадающего списка, используйте это:
источник
Самый простой способ повторно использовать / изменить ресурсы android.R.layout - просто перейти к определению. В Android Studio сделайте Ctrl+ Bна android.R.layout.simple_spinner_item.xml.
Это приведет вас к файлу ресурса. Просто скопируйте файл ресурса и добавьте новый макет в вашу папку Package.R.layout и измените textColor textview, как вам нравится, а затем просто вызовите его в адаптере следующим образом:
источник
Для тех, кто хочет изменить
DrowDownIcon
цвет, вы можете использовать вот такисточник
<item name="android:colorControlNormal" tools:targetApi="lollipop">@color/light_gray</item>
AppTheme
Drawable spinnerDrawable = spinner.getBackground().getConstantState().newDrawable(); spinnerDrawable.setColorFilter(getResources().getColor(R.color.md_white_1000), PorterDuff.Mode.SRC_ATOP); if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { spinner.setBackground(spinnerDrawable); }else{ spinner.setBackgroundDrawable(spinnerDrawable); }
Можно изменить цвет текста, переопределив метод getView следующим образом:
источник
Самый простой: работает для меня
источник
просто используйте это:
источник
Другим вариантом решения Ашрафа было бы убедиться, что вы учитываете размеры экрана. Вам нужно будет включить спиннер в onCreate и настроить прослушиватель после того, как вы установите адаптер:
Затем вы можете начать изменять размер текста в представлении, которое отображается до нажатия на спиннер:
Все, что вам нужно сделать, это создать определенные папки макета, как это:
Затем добавьте XML-файл с именем "bool.xml" в каждую из этих папок:
источник
Сначала мы должны создать простой
xml
файл ресурсов для этого,textview
как показано ниже:и сохрани это. после установки в вашем списке адаптеров.
источник
Вы можете иметь этот тип адаптера для прядильщика, полностью настроенный:
тогда как R.layout.spinner_text:
источник
Если вам нужен простой метод, для добавления элементов в выпадающий список вы обычно добавляете их в strings.xml. Вот пример того, как добавить цвет с помощью файла strings.xml:
ВЫБЕРИТЕ ВОЗРАСТ
источник
Я сделал это следующим образом. Я использовал методы getDropDownView () и getView ().
Используйте
getDropDownView()
для открытого Spinner.И использовать
getView()
для закрытого Spinner.источник
Попробуйте этот метод. Это работает для меня.
источник
просто добавьте новый стиль, как это:
и использовать это:
источник
вот и все приятного твоего кодирования ...
источник