Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 自定義Spinner字體、顏色、大小

Android 自定義Spinner字體、顏色、大小

編輯:關於Android編程

昨天在公司項目中遇到Spinner顏色,字體,大小的困惑。所以今天也總結一下這方面知識。這個其實很簡單,要改變字體,顏色以及大小,無非就是不要用系統自帶的樣式。自已例外寫一個layout調用就行了。我就是這樣做的。本文例子還有Spinner兩種彈出方式,下拉框以及彈出框。加載數據源的兩種方式。下面看代碼介紹。

 

 

package com.example.customspinerdemo;

import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

public class MainActivity extends Activity implements OnItemSelectedListener {

	private Spinner mspinner1;
	private Spinner mspinner2;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		mspinner1 = (Spinner) findViewById(R.id.spinner1);
		if (mspinner1 != null) {
			mspinner1.setOnItemSelectedListener(this);
		}

		mspinner2 = (Spinner) findViewById(R.id.spinner2);
		if (mspinner2 != null) {
			mspinner2.setOnItemSelectedListener(this);
		}

		// 在這裡兩個layout自已定義效果,不用系統自帶.
		// 數據源手動添加
		ArrayAdapter spinnerAadapter = new ArrayAdapter(this,
				R.layout.custom_spiner_text_item, getDataSource());
		spinnerAadapter
				.setDropDownViewResource(R.layout.custom_spinner_dropdown_item);
		mspinner1.setAdapter(spinnerAadapter);

		// 通過加載xml文件配置的數據源
		ArrayAdapter spinnerAadapter2 = ArrayAdapter.createFromResource(this,
				R.array.spiner2_array, R.layout.custom_spiner_text_item);
		spinnerAadapter2
				.setDropDownViewResource(R.layout.custom_spinner_dropdown_item);
		mspinner2.setAdapter(spinnerAadapter2);
	}

	public List getDataSource() {
		List spinnerList = new ArrayList();
		spinnerList.add(北京);
		spinnerList.add(上海);
		spinnerList.add(廣州);
		spinnerList.add(北京);
		spinnerList.add(上海);
		spinnerList.add(廣州);
		return spinnerList;
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public void onItemSelected(AdapterView arg0, View arg1, int arg2,
			long arg3) {
		if (arg0.getId() == R.id.spinner1) {
			String itemString = mspinner1.getItemAtPosition(arg2).toString();
			Toast.makeText(this, 你選中的是 + itemString, Toast.LENGTH_SHORT)
					.show();
			return;
		} else if (arg0.getId() == R.id.spinner2) {
			String itemString2 = mspinner2.getItemAtPosition(arg2).toString();
			Toast.makeText(this, 你選中的是 + itemString2, Toast.LENGTH_SHORT)
					.show();
			return;
		}
	}

	@Override
	public void onNothingSelected(AdapterView arg0) {

	}

}

custom_spiner_text_item.xml


custom_spinner_dropdown_item.xml

activity_main.xml


 
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved