1.TextView
- 设置局部文本的颜色可以在SetText的参数里设置HTML的标签,即SetText(Html.fromHtml(string));
- 设置局部文本的颜色可以调用SpannableStringBuilder类的SetSpan方法,参数为ForegroundColor类型的Color,起止的标志,Spannable的类型。然后再SetText这个SpannableStringBuilder的对象
- 详细SpannableStringBuilder见超级链接:
- layout设置超级链接android:autoLink="all/phone/web"
- linksClickable="false" 不可点击的连接
- layout设置跑马灯的效果
- android:foucsable="true"
- android:ellipsize="marquee" 该值有start、end、middle指的是在某个部位显示省略号
- android:marqueeRepeatLimit="marquee_forever" //重复次数
- android:foucsableInTouchMode="true"
- android:singleLine="true" 所有文字在一行显示
- 实现Spinner(下拉列表)的方法。
- 布局里需要改为数组,即包含已经选择的项。
- 代码使用如下:
- Spinner spin=(Spinner)findViewById(R.id.spinner01);
- TextView text=(TextView)spin.getSelectedView();
- String selected_text=text.getText()
2.EditText
- 移除聚焦的焦点方法:可以设置两个EditText,将第一个EditText宽度高度设置为0dp可实现。
- 相关属性:
- android:maxLength="3" 限制输入字符的数量
- android:singleLine="false" 多行文本框或单行的设置
- android:inputType="number" 限制输入的信息类型
- android:hint="tips" 设置提示信息
- android:drawableLeft="@drawable/title" 在EditText左边显示图片
- android:background="@drawable/shape" 设置圆角等背景,shape为设置的xml文件
- 拥有setFilters方法来控制输入的过滤的项。
- 用于设置Text的输入类型(setInputType(InputType.TYPE)):密码
- 用于限制输入的字符类型:只允许字符不允许特殊字符等。可以参考链接:
3.Button
- 设置Button的几种方法。
- 通过设置内部匿名类来实现:
- btn1.setOnClickListener(new OnclickListener(){
- private void onclick(View v){}
- });
- 通过设置内部类实现:
- btn1.setOnClickListener(new ButtonClick());
- class ButtonClick implement OnclickListener(){}
- 通过外置方法来实现:
- btn1.setOnClickListener(listener);
- private OnclickListener listener=new OnclickListener(){
- private void onclick(View v){
- Button btn=(Button)v;
- }
- }//判断btn.getId(),不同的btn的id来判断点击不同按钮
- 通过XML来实现,省去了设置监听的步骤。
- 在layout里添加android:onClick="method_name"
- java 中对应的响应的事件的方法。private void method_name(View view){};
- RadioButton
- 一个RadioGroup包含了多个RadioButton
- 代码中查找的时候也是使用了RadioGroup,设置的是setOncheckChangeListener监听。有checkId可以判断radioButton的id。
- 将radioButton放在右边
- android:button="@null" //取消前面的Button
- android:drawableRight="@android:drawable/btn_radio"
4.ImageView
- 显示图片的一个控件
- 相关属性:
- android:src="@drawable/icon" --设置图片资源
- android:background="@drawable/icon" --ImageView背景图片
- android:background="#fff" --设置颜色
- 没有组的概念,每个空间单独属性及操作。
- 对每个控件都设置setOnCheckedChageListener。
- 获取的时候通过ID判断对应操作,类似于BUTTON。
- isChecked是用于判断是否选中。
6.日期及时间控件
- 使用的是DatePicker,layout中添加View,查找id,并设置日期的监听器
- 使用DatePickDialog时需要复写onCreateDialog里面初始化DatePickerDialog,需要创建一个listener,里面复写一个内部匿名类,用于获取时间。
- TimePicker 需要setlistener
- TimePickerDialog与date的相似。
7.ListView控件学习
- 定制时需要添加一个ListView的id为@android:id/list,如果说没有查询数据可以用TextView的id为android:id/empty.
- 设置listView是通过设置ListAdapter
- setListAdapter(new ArrayAdapter<T>(context,resouce,display));
- ListView lv=getListView();
- lv.setTextFilterEnabled(true);
- lv.setOnItemClickListener(new OnItemClickListener( ));
- 读取方法有多种,可以从string数组中读取,也可以从数据库中读取。
- 数据库读取的时候需要使用SimpleCursorAdapter
- 再用listView.setAdapter(cursoradapter)设置adapter。
- xml文件中配置android:scrollingCache="false"解决滑动不黑屏问题。
- android:divider="@drawable/line" 间隔的样式
8.GridView学习
- 布局元素为GridView有以下特殊属性。
- android:columnWidth="90dp" 一小格的宽度
- android:numColumns="auto_fit" 自动适应一行有几列
- android:verticalSpacing="10dp" 垂直方向格子之间的间距
- android:horizontalSpacing="10dp" 水平方向格子之间的间距
- 代码需要extends BaseAdapter,复写getView方法。
- 一般图片和数据都定义为int数组(source id)和String数组(text)。
9.TabWidget 控件学习
- 定义:TabWidget通过多个标签切换显示不同的内容。要实现该效果,需要了解TabHost,他是一个存放多个Tab标签的容器,每个Tab都可以对应自己的布局。
- 代码中需要tabHost容器来addTab,添加的元素是TabHost下的TabSpec 的tab。需要设置setIndicator和content.设置默认展示页面:setCurrentTab(2);
10.Spinner控件
- 相当于下拉列表框。xml的元素为Spinner。
- 下拉选项可以保存在数据库、网络或数组中。利用ArrayAdapter来设置数据。
- 处理事件的监听器为:onItemSelectedListener。
11.WebView学习
- xml元素WebView
- WebSettings设置属性的方法。WebView.getSettings() ;
12.ToggleButton
- 一个类似于开关的Button,在xml中元素为:ToggleButton
- android:textOff="Disabled"
- android:textOn="Enabled"