Spinner(一)——修改系统自带Spinner字体大小和颜色完整示例

MainActivity如下:

package cc.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener;
/**
 * Demo描述:
 * 修改系统自带Spinner字体大小和颜色的完整示例
 *
 * 参考资料:
 * http://blog.csdn.net/xuzhuang2008/article/details/7641685
 * Thank you very much
 */
public class TestSpinnerActivity extends Activity {
	private Spinner mSpinner;
	private ArrayAdapter<String> mAdapter ;
	private String [] mStringArray;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        init();
    }

    private void init(){
    	mSpinner=(Spinner) findViewById(R.id.spinner);
    	mStringArray=getResources().getStringArray(R.array.test_string_array);
		//使用自定义的ArrayAdapter
		mAdapter = new TestArrayAdapter(TestSpinnerActivity.this,mStringArray);

		//设置下拉列表风格(这句不些也行)
		//mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		mSpinner.setAdapter(mAdapter);
		//监听Item选中事件
		mSpinner.setOnItemSelectedListener(new ItemSelectedListenerImpl());

    }

    private class ItemSelectedListenerImpl implements OnItemSelectedListener{
		@Override
		public void onItemSelected(AdapterView<?> parent, View view, int position,long arg3) {
			System.out.println("选中了:"+mStringArray[position]);
		}

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

    }
}

TestArrayAdapter如下:

package cc.test;

import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class TestArrayAdapter extends ArrayAdapter<String> {
	private Context mContext;
    private String [] mStringArray;
	public TestArrayAdapter(Context context, String[] stringArray) {
		super(context, android.R.layout.simple_spinner_item, stringArray);
		mContext = context;
		mStringArray=stringArray;
	}

	@Override
	public View getDropDownView(int position, View convertView, ViewGroup parent) {
		//修改Spinner展开后的字体颜色
		if (convertView == null) {
			LayoutInflater inflater = LayoutInflater.from(mContext);
			convertView = inflater.inflate(android.R.layout.simple_spinner_dropdown_item, parent,false);
		}

		//此处text1是Spinner默认的用来显示文字的TextView
		TextView tv = (TextView) convertView.findViewById(android.R.id.text1);
		tv.setText(mStringArray[position]);
		tv.setTextSize(22f);
		tv.setTextColor(Color.RED);

		return convertView;

	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		// 修改Spinner选择后结果的字体颜色
		if (convertView == null) {
			LayoutInflater inflater = LayoutInflater.from(mContext);
			convertView = inflater.inflate(android.R.layout.simple_spinner_item, parent, false);
		}

		//此处text1是Spinner默认的用来显示文字的TextView
		TextView tv = (TextView) convertView.findViewById(android.R.id.text1);
		tv.setText(mStringArray[position]);
		tv.setTextSize(18f);
		tv.setTextColor(Color.BLUE);
		return convertView;
	}

}

 

main.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

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

</LinearLayout>

 

arrays.xml如下:

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

    <string-array name="test_string_array">
        <item>无</item>
        <item>失眠</item>
        <item>贫血</item>
        <item>脱发</item>
        <item>疲惫</item>
        <item>烦躁</item>
        <item>偏胖</item>
        <item>偏瘦</item>
        <item>白发</item>
        <item>头痛</item>
        <item>近视</item>
        <item>弱视</item>
        <item>耳鸣</item>
    </string-array>

</resources>

 

时间: 2024-10-26 00:28:24

Spinner(一)——修改系统自带Spinner字体大小和颜色完整示例的相关文章

Win8系统怎么更改标题栏字体大小和颜色?

  Win8系统怎么更改标题栏字体大小和颜色?          1.按下"Win+X"组合键呼出系统快捷菜单,点控制面板; 2.在控制面板点击"外观和个性化"; 3.选择"显示"选项; 4.把"让我选择一个适合我的所有显示器的缩放级别"取消打钩,然后汇能下下方的下拉菜单中选择需要修改字体的位置了.

Dialog(八)——改变系统自带Dialog字体大小(ContextThemeWrapper)

MainActivity如下: package c.c.testdialog; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.v

Android的browser源码中,怎么修改标签页的标题字体大小

问题描述 Android的browser源码中,怎么修改标签页的标题字体大小 在做Android系统开发的时候,由于系统要求,字体已经固定.但是发现系统自带的浏览器,标签页标题字体太小的.不知道怎么修改. 看了一下源码,Tag.java的源码中有可以找到标题的变量mTitle,但是不知道如何修改字体的大小,希望大牛指点. // All the state needed for a page protected static class PageState { String mUrl; Strin

求大神帮助,怎么用java修改系统打印机某个纸张的大小啊

问题描述 我用的是lodop打印插件,但是里边没有提供修改系统打印机纸张大小的功能,我只能更改默认打印机和默认纸张,现在想用前台传参的方式在后台用程序修改,问问大神能实现么

Mac的QQ如何设置字体大小和颜色

  一.首先是设置字体大小 1.打开 QQ 以后,随便打开一个聊天窗口. 图一:聊天窗口 2.随后点击屏幕顶部系统菜单栏中的"格式",再选择"字体"选项,如图所示 图二:点击格式 3.接下来在字体设置,可以选择字体,字样和字体大小.最主要是把字体大小设置大一些,如图所示 图三:设置颜色 4.这样就成功更改了 QQ 的字体大小了,可以试试新的字体大小. 图四:更改 二.然后设置字体颜色 1.同样地,还是在顶部菜单中点击"格式",再点击"显

Zend Studio教程之设置字体大小和颜色

  1.点击菜单栏[Window],然后点击[Preferences]. 2.展开 General-->Appearance-->Color and Fonts-->Basic 3.找到Basic的最后一项[Text Fonts ], 点击[Edit] 4.字体推荐 YaHei Consolas Hybrid.Source Code Pro这两款等宽字体,字体大小建议修改为12或14.

iOS设置UIButton文字显示位置和字体大小、颜色的方法_IOS

前言 大家都知道UIButton按钮是IOS开发中最常用的控件,作为IOS基础学习教程知识 ,初学者需要了解其基本定义和常用设置,以便在开发在熟练运用. 一.iOS设置UIButton的字体大小 btn.frame = CGRectMake(x, y, width, height); [btn setTitle: @"search" forState: UIControlStateNormal]; //设置按钮上的自体的大小 //[btn setFont: [UIFont system

用PHP写了个 标签 按点击率的 字体大小和颜色的 显示效果

按标签的点击率来设置标签字体的大小和 颜色 本程序没有考虑程序性能和函数封装...只想表达这个算法 具体代码如下:   <?php    function showTag($cur=47,$tag="美女和野兽"){        $maxSize=300;$minSize=30;//maxSize为标签字体最大大小,minSize为标签最小大小 按百分比        $max=100;$min=8;//max为最多标签点击数 min为最少点击数 cur为当前标签当前点击数  

修改win7 CMD命令窗口字体大小的方法

  1.首先在运行中输入CMD打开命令提示符. 2.然后右键点击命令提示符窗口左上角,在弹出的菜单中点击"默认值"如下图. 3.然后在字体界面,选择较大的"大小"即可,并确定(也可以选择"新宋体"然后选择大小). 4.这时字体还不会改变,需要关闭命令提示符,再打开才能看到效果!