Bagaimana cara mengubah ukuran teks dan warna teks pemintal?


432

Dalam aplikasi Android saya, saya menggunakan spinner, dan saya telah memuat data dari database SQLite ke spinner, dan itu berfungsi dengan baik. Ini kode untuk itu.

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);

Sekarang saya ingin mengubah warna teks dan ukuran teks dari data pemintal. Saya telah menggunakan baris XML berikut ke tag pemintal saya pada file XML saya, tetapi tidak berfungsi.

android:textColor="@android:color/white"
android:textSize="11dp"

Bagaimana saya bisa mengubah warna teks dan ukuran teks dari pemintal saya?


periksa situs-situs berikut [StackoverFlow] [1] [stackoverflow] [2] [stackoverflow] [3] Saya pikir ini adalah pertanyaan rangkap [1]: stackoverflow.com/questions/4880413/… [2]: stackoverflow.com/questions / 4989817 / ... [3]: stackoverflow.com/questions/5836254/…
user1203673


1
Untuk textSize yang benar adalah dengan menggunakan SP ... android: textSize = "11sp"
Diego Venâncio

Jawaban:


780

Buat file XML khusus untuk item pemintal Anda.

spinner_item.xml:

Berikan warna dan ukuran khusus Anda ke teks di file ini.

<?xml version="1.0" encoding="utf-8"?>

<TextView  
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"
    android:textSize="20sp"
    android:gravity="left"  
    android:textColor="#FF0000"         
    android:padding="5dip"
    />

Sekarang gunakan file ini untuk menampilkan item pemintal Anda seperti:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_item,list);

Anda tidak perlu mengatur sumber drop-down. Hanya perlu spinner_item.xmlmenampilkan item Anda di pemintal.


2
@Hiral text akan berwarna putih hanya untuk item yang dipilih saat ini.
tesla

8
@ SANTHOSH baik Anda harus menambahkan id ke TextView, cukup tambahkan di sana android:id="@+id/customSpinnerItemTextView". Jika Anda telah men-debug ini, Anda akan tahu ini.
vilpe89

3
@ vilpe89 dapatkah Anda memodifikasi kode di atas untuk menunjukkan apa yang Anda maksud dengan ini? kemana android ini: id pergi? tentu saja tidak di tag pemintal, karena memiliki id itu sendiri. tetapi tidak masuk akal untuk menambahkannya di tag tampilan teks yang telah Anda buat di atas. bagaimana saya merujuk bahwa saya ingin menggunakan tag ini langsung dari XML? juga, ketika membuat XML dari Eclipse, saya tidak melihat opsi untuk membuat file XML yang hanya berisi TextView, bagaimana cara kerjanya ???
Michael

29
Hanya sedikit catatan. Ukuran teks harus menggunakan sp sebagai ganti dp / dip
ymerdrengene

18
tidak bisakah ini dilakukan dengan menggunakan gaya saja? Saya terkejut betapa hal-hal kecil sangat sulit untuk bergaya di android .. ini membuat frustasi .. Saya berharap mereka memiliki sistem styling seperti css
yeahman

183

Sederhana dan segar ...:

private OnItemSelectedListener OnCatSpinnerCL = new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {

       ((TextView) parent.getChildAt(0)).setTextColor(Color.BLUE);
       ((TextView) parent.getChildAt(0)).setTextSize(5);

    }

    public void onNothingSelected(AdapterView<?> parent) {

    }
};

19
Ini adalah solusi terbaik bagi saya, karena saya perlu mengubah warna teks pada pemintal, tetapi tidak dalam daftar yang muncul. Terima kasih.
peter.bartos

7
Bagi saya, warna barang berkedip, beralih dari warna asli ke warna yang saya pilih
Felipe Conde

@FelipeConde Apakah Anda pernah menemukan jawaban? Saya punya pertanyaan yang sama. Pertanyaan saya ada di sini: stackoverflow.com/questions/33908564/…
Rock Lee

@FelipieConde Untuk Anda, dibutuhkan warna pendakian pada awalnya, kemudian Anda ubah ke warna lain secara manual, sehingga terlihat sangat lelah. Saat Pertama Dibutuhkan <item name = "colorAccent"> @ color / color_primary </item> Kemudian Anda secara manual diubah oleh program, Jadi Anda merasakan kedipan itu
Ashraf

2
ini bekerja untuk saya tetapi masalah saya adalah ketika saya kembali dari aplikasi fragmen crash karena mendapat null pointer pada kode di atas
Akshay Shah

145

Jika semua pemintal mungkin memiliki warna teks yang sama untuk item TextView mereka, pendekatan lain adalah menggunakan gaya khusus untuk item tarik-turun pemintal:

Dalam res/values/styles.xml:

<resources>
    <style name="AppBaseTheme" parent="android:Theme.Light">
    </style>

    <style name="AppTheme" parent="AppBaseTheme">
        <item name="android:spinnerDropDownItemStyle">@style/mySpinnerItemStyle</item>
    </style>

    <style name="mySpinnerItemStyle" parent="@android:style/Widget.Holo.DropDownItem.Spinner">
        <item name="android:textColor">@color/my_spinner_text_color</item>
    </style>
</resources>

Dan tentukan warna khusus Anda dalam res / values ​​/ colors.xml:

<color name="my_spinner_text_color">#808080</color>

2
Dan bagaimana cara menerapkan solusi ini ke tema Appcompt? Saya mencobanya dengan mengganti tema induk "@ style / Widget.AppCompat.DropDownItem.Spinner" dan itu tidak berhasil
GyRo

11
Saya akan menambahkan juga menambahkan: <item name = "android: spinnerItemStyle"> @ style / mySpinnerItemStyle </item> Ini memastikan bahwa teks yang diciutkan memiliki warna yang sama - jika ini adalah perilaku yang diinginkan.
infinite-loop

4
tidak bekerja untuk saya juga, gaya ini benar-benar diabaikan
diogo.abdalla 9'15

1
@ Whypee tolong edit jawaban Anda sesuai dengan saran dari infinite-loop itu bekerja dengan baik untuk saya
Chintan Desai

4
Untuk tema AppCompat hapus saja android:seperti ini<item name="spinnerDropDownItemStyle">@style/mySpinnerItemStyle</item>
Roman_D

73

Berikut ini tautan yang dapat membantu Anda mengubah warna Spinner :

Klik disini

<Spinner
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/spinner"
    android:textSize="20sp"
    android:entries="@array/planets"/>

Anda perlu membuat file tata letak Anda sendiri dengan definisi khusus untuk item spinner spinner_item.xml :

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="20sp"
    android:textColor="#ff0000" />

Jika Anda ingin menyesuaikan item daftar dropdown, Anda perlu membuat file layout baru. spinner_dropdown_item.xml :

<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    style="?android:attr/spinnerDropDownItemStyle"
    android:maxLines="1"
    android:layout_width="match_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:ellipsize="marquee"
    android:textColor="#aa66cc"/>

Dan akhirnya perubahan lain dalam deklarasi pemintal:

ArrayAdapter adapter = ArrayAdapter.createFromResource(this,
R.array.planets_array, R.layout.spinner_item);

adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
spinner.setAdapter(adapter);

Itu dia.


2
Ini adalah respons otomatis yang berasal dari meninjau posting oleh pengguna baru. Senang melihat bahwa Anda mengedit jawabannya! :)
Marko

1
Tampaknya, bahwa android:textSize="20sp"dalam cuplikan kode pertama tidak berguna: ukuran teks dari kontrol didefinisikan dalamspinner_item.xml
DenisGL

23

Jika Anda bekerja dengan android.support.v7.widget.AppCompatSpinner di sini adalah solusi teruji menggunakan gaya:

 <android.support.v7.widget.AppCompatSpinner
                    android:id="@+id/spefcialFx"
                    style="@style/Widget.AppCompat.Spinner.Underlined"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="4dp"
                    android:theme="@style/Spinner"
                    android:entries="@array/special_fx_arrays"
                    android:textSize="@dimen/text_size_normal"></android.support.v7.widget.AppCompatSpinner>

Dan gayanya:

<style name="Spinner" parent="Widget.AppCompat.Light.DropDownItem.Spinner">
        <item name="android:paddingStart">0dp</item>
        <item name="android:paddingEnd">0dp</item>
        <item name="android:textColor">@color/white</item>
        <item name="android:backgroundTint">@color/red</item>
        <item name="android:textSize">14sp</item>
    </style>

Satu-satunya downside adalah android: backgroundTint menetapkan warna untuk panah dropdown dan latar belakang dropdown.


3
Anda menggunakan style="@style/Widget.AppCompat.Spinner.Underlined"tetapi Anda hanya memiliki style name="Spinner"...
user25

1
paddingStartmembutuhkan API 17, backgroundTintmembutuhkan API 21.
CoolMind

18

Untuk mencegah lagging, Anda tidak hanya perlu mengatur properti teks di onItemSelectedlistener, tetapi juga dalam metode Activity onCreate(tapi agak rumit).

Khususnya, Anda perlu memasukkan ini onCreatesetelah mengatur adaptor:

spinner.setSelection(0, true);
View v = spinner.getSelectedView();
((TextView)v).setTextColor(backgroundColor);

Dan kemudian taruh ini di onItemSelected:

((TextView) view).setTextColor(backgroundColor);

Ini adalah contoh lengkapnya:

@Override  
protected void onCreate(Bundle savedInstanceState)
{  
    Spinner spinner = (Spinner) findViewById(R.id.spinner); 

    //Set the choices on the spinner by setting the adapter.  
    spinner.setAdapter(new SpinnerAdapter(toolbar.getContext(), new String[]{"Overview", "Story", "Specifications", "Poll", "Video"}, accentColor, backgroundColor));

    //Set the text color of the Spinner's selected view (not a drop down list view) 
    spinner.setSelection(0, true);
    View v = spinner.getSelectedView();
    ((TextView)v).setTextColor(backgroundColor);

    //Set the listener for when each option is clicked.  
    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
    {  

        @Override  
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
        {  
           //Change the selected item's text color  
           ((TextView) view).setTextColor(backgroundColor);
        }  

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

}  

Untuk detail lebih lanjut, lihat pertanyaan saya .


15

Jika Anda ingin warna teks berubah di item yang dipilih saja, maka ini bisa menjadi solusi yang mungkin. Itu bekerja untuk saya dan harus bekerja untuk Anda juga.

spinner.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                ((TextView) spinner.getSelectedView()).setTextColor(Color.WHITE);
            }
        });

6

Untuk seseorang yang hanya membutuhkan Stylejalan AppCompat.

Hasil
masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini

styles.xml

<resources>
    ... 
    <style name="Spinner" parent="Widget.AppCompat.Light.DropDownItem.Spinner">
        <item name="android:paddingStart">0dp</item>
        <item name="android:paddingEnd">0dp</item>
        <item name="android:textColor">@color/material_grey_700</item>
        <item name="android:textSize">12sp</item>
    </style>
</resources>

your_spinner_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
    ...

    <android.support.v7.widget.AppCompatSpinner
        android:id="@+id/content_spinner"
        style="@style/Widget.AppCompat.Spinner.Underlined"
        android:layout_width="140dp"
        android:layout_height="wrap_content"
        android:entries="@array/shipping_tracking_carrier_names"
        android:spinnerMode="dropdown"
        android:theme="@style/Spinner" />

    <EditText
        android:id="@+id/content_input"
        android:layout_width="140dp"
        android:layout_height="wrap_content"
        android:inputType="text"
        android:maxLines="1"
        android:paddingEnd="8dp"
        android:paddingStart="8dp"
        android:textColor="@color/material_grey_700"
        android:textSize="12sp" />

    ...
</LinearLayout>    

Plus
Dan jika Anda ingin mengatur secara android:entriespemrograman dengan gaya yang ditentukan.
Coba ini.

AppCompatSpinner spinner = findViewById(R.id.content_spinner);
CharSequence[] entries = getResources().getTextArray(R.array.shipping_tracking_carrier_names);
ArrayAdapter<CharSequence> adapter = new ArrayAdapter<>(spinner.getContext(), android.R.layout.simple_spinner_item, entries);
adapter.setDropDownViewResource(android.support.v7.appcompat.R.layout.support_simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

Seperti dalam kode, menggunakan sama Contextdengan hal Spinneryang paling penting.

spinner.getContext()

5

Untuk mengubah warna teks pemintal:

 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            ((TextView) parent.getChildAt(0)).setTextColor(Color.WHITE);}

Ini adalah yang paling sederhana dan berhasil untuk saya, terima kasih!
Mousa Alfhaily

Saya suka solusi ini juga. itu sederhana dan bekerja dengan baik.
korchix

4

Daripada membuat tata letak khusus untuk mendapatkan ukuran kecil dan jika Anda ingin menggunakan LAYOUT ukuran kecil internal Android untuk pemintal, Anda harus menggunakan:

"android.R.layout.simple_gallery_item" bukan "android.R.layout.simple_spinner_item".

ArrayAdapter<CharSequence> madaptor = ArrayAdapter
            .createFromResource(rootView.getContext(),
                                R.array.String_visitor,
                                android.R.layout.simple_gallery_item);

Ini dapat mengurangi ukuran tata letak pemintal. Ini hanya trik sederhana.

Jika Anda ingin mengurangi ukuran daftar drop-down gunakan ini:

madaptor.setDropDownViewResource(android.R.layout.simple_gallery_item);

4

Cara termudah untuk menggunakan kembali / mengubah sumber daya android.R.layout cukup dengan definisinya. Di Android Studio, lakukan Ctrl+ Bdi android.R.layout.simple_spinner_item.xml.

Ini akan membawa Anda ke file sumber. Cukup salin file sumber daya dan tambahkan tata letak baru di folder Package.R.layout Anda dan ubah textColor of textview sesuka Anda dan kemudian panggil saja dalam adaptor seperti ini:

ArrayAdapter<String> adapter = new ArrayAdapter<String(Context,R.layout.spinner_item, spinnerlist);

4

Bagi yang ingin berganti DrowDownIconwarna bisa Anda gunakan seperti ini

spinner.getBackground().setColorFilter(Color.parseColor("#ffffff"), PorterDuff.Mode.SRC_ATOP);

dapatkah Anda mencoba<item name="android:colorControlNormal" tools:targetApi="lollipop">@color/light_gray</item>
AMAN SINGH

letakkan garis ini dalam gaya AndaAppTheme
AMAN SINGH

Ini adalah kode yang berfungsiDrawable 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); }
Edijae Crusar

4

Dapat mengubah warna teks dengan mengganti metode getView sebagai berikut:

 new ArrayAdapter<String>(getContext(), android.R.layout.simple_spinner_dropdown_item, list()){
                @Override
                public View getView(int position, View convertView, @NonNull ViewGroup parent) {
                    View view = super.getView(position, convertView, parent);
                    //change the color to which ever you want                    
                    ((CheckedTextView) view).setTextColor(Color.RED);
                    //change the size to which ever you want                    
                    ((CheckedTextView) view).setTextSize(5);
                    //for using sp values use setTextSize(TypedValue.COMPLEX_UNIT_SP, 16);
                    return view;
                }
    }


2
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1"
    style="?android:attr/spinnerItemStyle"
    android:singleLine="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textColor="#fff"
    android:ellipsize="marquee"
    android:textAlignment="inherit"/>

gunakan saja ini:

ArrayAdapter<String> adapter_category = new ArrayAdapter<String>(this,
    R.layout.spinner_list_item, categories);
adapter_category
    .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

1

Variasi lain dari solusi Ashraf adalah memastikan Anda mempertimbangkan ukuran layar akun. Anda harus memasukkan pemintal di onCreate dan mengatur pendengar setelah Anda mengatur adaptor:

//set your adapter with default or custom spinner cell, then://
serverSpinner.setOnItemSelectedListener(spinnerSelector);
serverSpinner.setSelection(defaultServer);

Kemudian Anda dapat mulai mengubah ukuran teks tampilan yang ditampilkan sebelum pemintal diklik:

private AdapterView.OnItemSelectedListener spinnerSelector = new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
        boolean tabletSize = getResources().getBoolean(R.bool.isTablet);
        boolean largeTablet = getResources().getBoolean(R.bool.isLargeTablet);
        if (tabletSize) { ((TextView)parent.getChildAt(0)).setTextSize(16); }
        else if (largeTablet) { ((TextView)parent.getChildAt(0)).setTextSize(18); }
        else { ((TextView)parent.getChildAt(0)).setTextSize(12); }
    }
    public void onNothingSelected(AdapterView<?> parent) {

    }
};

Yang perlu Anda lakukan adalah membuat folder khusus tata letak seperti ini:

nilai-sw360dp

nilai-sw600dp

nilai-sw800dp

lalu tambahkan file xml bernama "bool.xml" ke masing-masing folder tersebut:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <bool name="isTablet">false</bool>
    <bool name="isLargeTablet">false</bool>
</resources>

1

Pertama-tama kita harus membuat xmlfile sumber daya sederhana textviewseperti di bawah ini:

<?xml version="1.0" encoding="utf-8"?>

 <TextView  
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"
    android:textSize="20sp"
    android:gravity="left"  
    android:textColor="#FF0000"         
    android:padding="5dip"
    />   

dan simpan itu. setelah ditetapkan pada daftar adaptor Anda.


1

Anda dapat memiliki jenis adaptor ini untuk pemintal, sepenuhnya disesuaikan:

 ArrayAdapter<String> genderAdapter = new ArrayAdapter<String>(getActivity(), R.layout.spinner_text, genderList) {

        public View getView(int position, View convertView, ViewGroup parent) {
            View v = super.getView(position, convertView, parent);
            ((TextView) v).setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
            ((TextView) v).setTextColor(Color.parseColor("#676767"));
            ((TextView) v).setTypeface(vrFont);
            return v;
        }

        public View getDropDownView(int position, View convertView, ViewGroup parent) {
            View v = super.getDropDownView(position, convertView, parent);
            ((TextView) v).setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
            ((TextView) v).setTypeface(vrFont);
            ((TextView) v).setTextColor(Color.parseColor("#676767"));

            if (position == 0) {
                ((TextView) v).setTextColor(Color.parseColor("#979797"));
            }

            return v;
        }

sedangkan R.layout.spinner_text adalah:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text1"
style="?android:attr/spinnerItemStyle"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:gravity="center_vertical|left"
android:ellipsize="marquee"
android:maxLines="1"
android:textColor="@color/whiteThree" />

1

Jika Anda ingin metode sederhana, untuk menambahkan item ke dropdown, Anda biasanya menambahkannya ke strings.xml. Berikut adalah contoh tentang cara menambahkan warna dengan menggunakan file strings.xml:

RANGE AGE SELECT

<string-array name="age_array">

   <item> 0-6 </item>                               //No custom colour

  <item><font fgcolor='#FF4CD964'> 12+ </font></item> //With custom colour

</string-array>

trik lucu ... berguna dan cepat untuk pemintal satu kali, warna harus menjadi string nilai warna mentah bukan dari xml
me_

0

Saya telah melakukan ini sebagai berikut. Saya telah menggunakan metode getDropDownView () dan getView ().

Gunakan getDropDownView()untuk Spinner yang dibuka.

@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
  View view = convertView;
  if (view == null) {
    LayoutInflater vi = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    view = vi.inflate(R.layout.context_row_icon, null);
  }
  TextView mTitle = (TextView) view.findViewById(R.id.context_label);
  ImageView flag = (ImageView) view.findViewById(R.id.context_icon);                

  mTitle.setText(values[position].getLabel(activity));

  if (!((LabelItem) getItem(position)).isEnabled()) {
    mTitle.setTextColor(activity.getResources().getColor(R.color.context_item_disabled));
  } else {
    mTitle.setTextColor(activity.getResources().getColor(R.color.context_item));
  }
  return view;
}

Dan Gunakan getView()untuk Spinner tertutup.

@Override
public View getView(int position, View convertView, ViewGroup parent) {
  View view = convertView;
  if (view == null) {
    LayoutInflater vi = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    view = vi.inflate(R.layout.context_row_icon, null);
  }
  TextView mTitle = (TextView) view.findViewById(R.id.context_label);
  ImageView flag = (ImageView) view.findViewById(R.id.context_icon);

  mTitle.setText(values[position].getLabel(activity));
  mTitle.setTextColor(activity.getResources().getColor(R.color.context_item_disabled));

  return view;
}

Ini adalah kode yang diuji dengan benar dan bekerja dalam aplikasi di appstore
Bhavinkumar Patel

0

Coba metode ini. Ini bekerja untuk saya.

@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
    TextView textView = (TextView) view;
    ((TextView) adapterView.getChildAt(0)).setTextColor(Color.RED);
    ((TextView) adapterView.getChildAt(0)).setTextSize(20);
    Toast.makeText(this, textView.getText()+" Selected", Toast.LENGTH_SHORT).show();
}

0

tambahkan saja gaya baru seperti ini:

<style name="mySpinnerItemStyle" parent="ThemeOverlay.AppCompat.Dark">
    <item name="android:textColor">#000</item>
    <item name="android:color">#000</item>
</style>

dan gunakan:

<Spinner
      android:id="@+id/spinnerCategories"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      style="@style/mySpinnerItemStyle"
      android:layout_margin="5dp" />

0
    String typeroutes[] = {"Select","Direct","Non Stop"};
    Spinner typeroute;

    typeroute = view.findViewById(R.id.typeroute);

    final ArrayAdapter<String> arrayAdapter5 = new ArrayAdapter<String>(
                getActivity(), android.R.layout.simple_spinner_item, typeroutes) {
            @Override
            public boolean isEnabled(int position) {
                if (position == 0) {
                    // Disable the first item from Spinner
                    // First item will be use for hint
                    return false;
                } else {
                    return true;
                }
            }

            public View getView(int position, View convertView, ViewGroup parent) {
                View v = super.getView(position, convertView, parent);
                ((TextView) v).setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
                ((TextView) v).setTextColor(Color.parseColor("#ffffff"));
                return v;
            }         ---->in this line very important so add this

            @Override
            public View getDropDownView(int position, View convertView,
                                        ViewGroup parent) {
                View view = super.getDropDownView(position, convertView, parent);
                TextView tv = (TextView) view;
                if (position == 0) {
                    // Set the hint text color gray
                    tv.setTextColor(Color.GRAY);
                } else {
                    tv.setTextColor(Color.BLACK);
                }
                return view;
            }
        };

        arrayAdapter5.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        typeroute.setAdapter(arrayAdapter5);

itu saja semua menikmati coding Anda ...

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.