解决自定义spinner字体大小和颜色的问题
spinner不能通过设置textsize、textcolor等来实现自定义
通过继承Adapter改变view来实现扩展功能。目前我就知道这个方法,等我把项目代码看过之后再来看看他们是怎么搞得。
- 特别谢谢堆酷上面一片博文,
- Android修改系统自带Spinner字体大小和颜色的完整示例
我也重复操作一下代码,加深印象。
快捷键
- 加粗
Ctrl + B
- 斜体
Ctrl + I
- 引用
Ctrl + Q
- 插入链接
Ctrl + L
- 插入代码
Ctrl + K
- 插入图片
Ctrl + G
- 提升标题
Ctrl + H
- 有序列表
Ctrl + O
- 无序列表
Ctrl + U
- 横线
Ctrl + R
- 撤销
Ctrl + Z
- 重做
Ctrl + Y
Markdown及扩展
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— [ 维基百科 ]
使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,创建一个链接等,详细语法参考帮助?。
本编辑器支持 Markdown Extra , 扩展了很多好用的功能。具体请参考[Github][2].
表格
Markdown Extra 表格语法:
项目 | 价格 |
---|---|
Computer | $1600 |
Phone | $12 |
Pipe | $1 |
可以使用冒号来定义对齐方式:
项目 | 价格 | 数量 |
---|---|---|
Computer | 1600 元 | 5 |
Phone | 12 元 | 12 |
Pipe | 1 元 | 234 |
定义列表
-
Markdown Extra 定义列表语法:
项目1
项目2
- 定义 A
- 定义 B 项目3
- 定义 C
-
定义 D
定义D内容
代码块
代码块语法遵循标准markdown代码,例如:
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);
----------------------------------------------------------
//TestArrayAdapter类
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;
}
}
//布局中添加一个spinner
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
// 略去string-array
————————赶着去坐班车啦
清明节放假啦