您的位置:首页 > 移动开发 > Android开发

【Android基础学习笔记】1.Android控件学习

2016-05-04 10:44 417 查看
1.TextView

设置局部文本的颜色可以在SetText的参数里设置HTML的标签,即SetText(Html.fromHtml(string));
设置局部文本的颜色可以调用SpannableStringBuilder类的SetSpan方法,参数为ForegroundColor类型的Color,起止的标志,Spannable的类型。然后再SetText这个SpannableStringBuilder的对象

详细SpannableStringBuilder见超级链接:
http://blog.csdn.net/lovexjyong/article/details/17021235

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)):密码
用于限制输入的字符类型:只允许字符不允许特殊字符等。可以参考链接:
http://blog.csdn.net/goodlixueyong/article/details/40655317

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" /
a161
/取消前面的Button
android:drawableRight="@android:drawable/btn_radio"

4.ImageView

显示图片的一个控件
相关属性:
android:src="@drawable/icon" --设置图片资源
android:background="@drawable/icon" --ImageView背景图片
android:background="#fff" --设置颜色

5.CheckBox

没有组的概念,每个空间单独属性及操作。
对每个控件都设置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"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息