[Solved] Android Spinner showing transparent screen with distortion of data,but items are selectable


Add this dependencies in build.gradle file

 compile 'com.github.rey5137:material:1.2.2'

In Xml write this code.

 <com.rey.material.widget.Spinner
                    android:id="@+id/spinner_label"
                    style="@style/LightSpinner"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:minWidth="128dp"
                    android:padding="8dp"
                    app:spn_label="Spinner with arrow" />

In Java class write this code.

 Spinner spn_label = (Spinner) findViewById(R.id.spinner_label);
 String[] items = new String[20];
   for (int i = 0; i < items.length; i++) {
          items[i] = "Item " + String.valueOf(i + 1);
       }
 ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, R.layout.row_span, items);
 spn_label.setAdapter(adapter);

Create row_span.xml in your layout folder.

<?xml version="1.0" encoding="utf-8"?>
<com.rey.material.widget.TextView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/row_spn_tv"
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:gravity="center_vertical"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:textDirection="locale"
    style="@style/LightSpinner"/>

When you run the below output is generated.

enter image description here

for more detail visit this : https://github.com/rey5137/material

Without using Any Library :

Write this in your xml

<Spinner
    android:id="@+id/planets_spinner"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

Create Array data in your resources file

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="planets_array">
        <item>Mercury</item>
        <item>Venus</item>
        <item>Earth</item>
        <item>Mars</item>
        <item>Jupiter</item>
        <item>Saturn</item>
        <item>Uranus</item>
        <item>Neptune</item>
    </string-array>
</resources>

And use this in Java

Spinner spinner = (Spinner) findViewById(R.id.spinner);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
        R.array.planets_array, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);

1

solved Android Spinner showing transparent screen with distortion of data,but items are selectable