Spinner選項的字體大小及背景都是可以更改的!
但Spinner的字體樣式及背景無法像Textview在activity_main元件裡直接設定
1.先於activity_main.xml新增Spinner元件
<Spinner
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/spinner"/>
2.新增一個設定Spinner的字體大小及背景的xml檔,於app/res/layout/(新增一個xml檔)
<?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="match_parent"
//設定字體大小
android:textSize="24sp"
//設定文字顏色
android:textColor="#FF0000FF"
//設定背景顏色
android:background="#ffd5d5"
//設定字體樣式
android:textStyle="bold"
android:padding="5dp">
</TextView>
3.再新增一個設定Spinner選項列樣式的xml檔,於app/res/layout/(新增一個xml檔)
<?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="match_parent"
//設定字體大小
android:textSize="24dp"
//設定文字顏色
android:textColor="#FFFF0000"
//設定背景顏色
android:background="#ffd5d5"
//設定字體樣式
android:textStyle="bold"
android:padding="13dp">
</TextView>
4.設定完樣式後到MainActivity.java宣告Spinner並新增選項
Spinner spinner = findViewById(R.id.spinner);
List<String> country = Arrays.asList("Taiwan","Japan","Korean","America");
5.新增ArrayAdapter來放入List及樣式
//R.layout.選擇你新增的Spinner外觀的xml檔名
ArrayAdapter adapter = new ArrayAdapter(getApplicationContext(), R.layout.my_selected_item , country);
//R.layout.選擇你新增的Spinner選項列外觀的xml檔名
adapter.setDropDownViewResource(R.layout.my_dropdown_item);
spinner.setAdapter(adapter);
這樣就可以變更你的Spinner字體樣式及背景顏色囉!
完整MainActivity.java程式碼
package com.example.itspinner;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.AndroidException;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import java.util.Arrays;
import java.util.List;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Spinner spinner = findViewById(R.id.spinner);
List<String> country = Arrays.asList("Taiwan","Japan","Korean","America");
ArrayAdapter adapter = new ArrayAdapter(getApplicationContext(), R.layout.my_selected_item , country);
adapter.setDropDownViewResource(R.layout.my_dropdown_item);
spinner.setAdapter(adapter);
}
}