Поиск…


Добавление счетчика в вашу деятельность

В /res/values/strings.xml:

<string-array name="spinner_options">
    <item>Option 1</item>
    <item>Option 2</item>
    <item>Option 3</item>
</string-array>

В макете XML:

<Spinner
    android:id="@+id/spinnerName"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:entries="@array/spinner_options" />

В работе:

Spinner spinnerName = (Spinner) findViewById(R.id.spinnerName);
spinnerName.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
         String chosenOption = (String) parent.getItemAtPosition(position);
    }
    @Override
    public void onNothingSelected(AdapterView<?> parent) {}
});

Пример основного Spinner

Spinner Это тип выпадающего ввода. Во-первых, в макете

  <Spinner
    android:id="@+id/spinner"     <!-- id to refer this spinner from JAVA-->
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    
</Spinner>

Теперь во-вторых, заполнять значения в прядильнике. Есть два способа заполнения значений в spinner .

  1. Из самого XML создайте array.xml в каталоге значений под res . Создайте этот array
  <string-array name="defaultValue">
    <item>--Select City Area--</item>
    <item>--Select City Area--</item>
    <item>--Select City Area--</item>
</string-array>

Теперь добавьте эту строку в sppiner XML

            android:entries="@array/defaultValue"
  1. Вы также можете добавлять значения через JAVA

если вы используете в activity cityArea = (Spinner) findViewById (R.id.cityArea); иначе, если вы используете fragment

cityArea = (Spinner) findViewById(R.id.cityArea);

Теперь создадим arrayList of Strings

ArrayList<String> area = new ArrayList<>();
//add values in area arrayList
cityArea.setAdapter(new ArrayAdapter<String>(context
                            , android.R.layout.simple_list_item_1, area));

Это будет выглядеть

введите описание изображения здесь введите описание изображения здесь

По версии Android-устройства устройство будет отображать стиль

Ниже приведены некоторые темы по умолчанию

Если приложение явно не запрашивает тему в своем манифесте, система Android определит тему по умолчанию, основанную на целевом целевом приложении appdkVersion, чтобы поддерживать первоначальные ожидания приложения:

Версия Android SDK Тема по умолчанию
Версия <11 @android: стиль / Стиль
Версия от 11 до 13 @android: стиль / Theme.Holo
14 и выше @android: стиль / Theme.DeviceDefault

Spinner можно легко настроить с помощью xml, например

 android:background="@drawable/spinner_background"

 android:layout_margin="16dp"

 android:padding="16dp"

Создайте собственный фон в XML и используйте его.

легко получить позицию и другие детали выбранного элемента в прядильщике

cityArea.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            areaNo = position;
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });

Изменение цвета текста выбранного элемента в прядильщике

Это можно сделать двумя способами в XML

<item android:state_activated="true" android:color="@color/red"/>

Это изменит выбранный цвет элемента во всплывающем окне.

и от JAVA сделайте это (в setOnItemSelectedListener (...))

 @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                 ((TextView) parent.getChildAt(0)).setTextColor(0x00000000);
// similarly change `background color` etc.
            }


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow