android入门重点讲义含有代码Word格式文档下载.docx
《android入门重点讲义含有代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《android入门重点讲义含有代码Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
autoLink="
email"
测试密码框android:
password="
绘制一张图片android:
drawableLeft="
@drawable/icon"
6、EditText属性设置
当前组件在得到焦点的时候,自动选取该组件内的所有的文本内容
android:
selectAllOnFocus="
当前组件只能输入数字android:
phoneNumber="
当前组件显示的提示信息,被选中时,内容自动被清空
hint="
@string/edtPhone
7、按钮以及属性(Button……)
普通文字按钮android:
background="
"
普通图片按钮<
ImageButtonandroid:
src="
按下时显示不同图片的按钮(利用配置文件解决即,button_selector.xml,android:
@drawable/button_selector"
)
Button_selector.xml:
指定按钮按钮下时的图片
<
itemandroid:
state_pressed="
android:
drawable="
@drawable/red"
/>
指定按钮松开时的图片:
false"
@drawable/purple"
带文字的图片按钮android:
text="
@string/btnImage"
8、单选按钮和多选按钮(RadioGroup、CheckBox)
定义一组单选框<
RadioGroupandroid:
orientation="
vertical"
android:
layout_gravity="
center_horizontal"
>
定义一个单选框<
RadioButtonandroid:
@string/male"
定义一个垂直的线性布局
<
LinearLayoutandroid:
定义三个复选框
CheckBoxandroid:
@string/red"
android:
checked="
/>
……
9、带类似开关式的按钮(ToggleButton)
定义一个ToggleButton按钮:
ToggleButton
textOff="
@string/layoutH"
textOn="
@string/layoutV"
定义一个可以动态改变方向的线性布局:
TestActivity:
ToggleButtontb=(ToggleButton)findViewById(R.id.toggle);
layout=(LinearLayout)findViewById(R.id.test);
匿名内部类:
tb.setOnCheckedChangeListener(new
OnCheckedChangeListener(){
publicvoidonCheckedChanged(CompoundButtonarg0,booleanarg1){
if(arg1){
layout.setOrientation(LinearLayout.HORIZONTAL);
}else{
layout.setOrientation(LinearLayout.VERTICAL);
}}});
9、计时器组件(Chronometer)
获取计时器组件:
finalChronometerchro=(Chronometer)findViewById(R.id.test);
改变显示的信息内容,使用"
%s"
表示计时信息
chro.setFormat("
计时信息:
);
获取“开始”按钮
ButtonbtnStart=(Button)findViewById(R.id.start);
获取事件监听:
btnStart.setOnClickListener(newOnClickListener(){
publicvoidonClick(Viewarg0){
设置开始计时时间:
SystemClock系统时钟类,
elapsedRealtime方法是得到当前系统的真实时间
hro.setBase(SystemClock.elapsedRealtime());
启动计时器:
chro.start();
}});
时钟改变一次监听一次:
chro.setOnChronometerTickListener(new
OnChronometerTickListener(){
publicvoidonChronometerTick(Chronometerch){
如果从开始计时到现在超过了20s。
(15-11>
20*1000)
Log.i("
TestActivity"
SystemClock.elapsedRealtime()
+"
if(SystemClock.elapsedRealtime()-ch.getBase()>
20*1000){
ch.stop();
}}});
定义模拟时钟:
<
AnalogClock……/>
定义数字时钟:
DigitalClock……android:
14pt"
计时器:
Chronometerandroid:
id="
@+id/test"
……
12pt"
……
textColor="
#ffff0000"
10、图像视图(ImageView)
ImageViewandroid:
layout_marginLeft="
10dp"
距离左边10dp
layout_marginTop="
100dp"
距离上面100dp/>
11、自动完成文本框(AutoCompleteTextView)
指定输入一个字符后进行提示:
AutoCompleteTextView/>
设置出现在下拉菜单中的提示标题:
completionHint="
@string/title"
设置下拉菜单的宽度:
android:
dropDownWidth="
设置下拉菜单与文本框之间的水平偏移:
android:
dropDownHorizontalOffset="
30dp"
设置用户至少输入几个字符才会显示提示:
completionThreshold="
2"
具体实现(Activity):
1、定义字符串数组,作为提示的文本
String[]books=newString[]{"
active"
"
activity"
apple"
"
};
2、获取CompleteTextView上下文对象:
AutoCompleteTextViewactv=(AutoCompleteTextView)findViewById(R.id.auto);
3、创建一个ArrayAdapter,封装数据
ArrayAdapter<
String>
adapter=newArrayAdapter<
(this,android.R.layout.simple_dropdown_item_1line,books);
simple_dropdown_item_1line:
android自带的配置文件。
4、设置Adapter
actv.setAdapter(adapter);
12、下拉列表框(Spinner)
定义了一个Spinner组件,指定该显示该Spinner组件的数组:
<
Spinner……/>
使用数组资源设置该下拉列表框的列表项目:
entries="
@array/books"
books.xml:
string-arrayname="
books"
item>
JavaSE<
/item>
JavaEE<
JavaME<
Linux<
/string-array>
设置该列表选择框的提示
prompt="
@string/info"
13、时间和日期组件(DatePicker、TimePicker)
定义一个DatePicker组件(日期:
年,月,日):
DatePicker……/>
定义一个TimePicker组件(时间:
含上下午):
TimePicker……/>
Activity:
引用布局文件中的组件:
findViewById();
获取当前的年、月、日、小时、分钟:
Calendarc=Calendar.getInstance();
year=c.get(Calendar.YEAR);
month=c.get(Calendar.MONTH);
day=c.get(Calendar.DAY_OF_MONTH);
hour=c.get(Calendar.HOUR);
minute=c.get(Calendar.MINUTE);
用于显示时间的方法(show):
privatevoidshowDate(intyear,intmonth,intday,inthour,intminute){
EditTextshow=(EditText)findViewById(R.id.show);
show.setText("
您的购买日期为:
+year+"
年"
+month+"
月"
+day+"
日"
+hour
+"
时"
+minute+"
分"
}
初始化DatePicker组件,初始化时指定监听器:
datePicker.init(year,month,day,newOnDateChangedListener(){
publicvoidonDateChanged(DatePickerarg0,intyear,intmonth,intday){TestActivity.this.year=year;
TestActivity.this.month=month;
TestActivity.this.day=day;
//显示当前日期、时间
showDate(year,month,day,hour,minute);
}});
为TimePicker指定监听器:
timePicker.setOnTimeChangedListener(newOnTimeChangedListener(){
publicvoidonTimeChanged(TimePickerarg0,inthour,intminute){
TestActivity.this.hour=hour;
TestActivity.this.minute=minute;
14、水平进度条(ProgressBar)
定义一个水平进度条
ProgressBarandroid:
@+id/bar"
max="
100"
progress="
30"
style="
@android:
style/Widget.ProgressBar.Horizontal"
Widget.ProgressBar.Horizontal:
系统自带布局方式。
15、拖动条(SeekBar)
定义一个拖动条,并改变它的滑块外观:
SeekBar
@+id/seekbar"
255"
120"
thumb="
@drawable/marker"
(更改滑块外观)/>
1、findViewById
2、事件监听器:
seekBar.setOnSeekBarChangeListener(newOnSeekBarChangeListener(){
//当拖动条的滑块位置发生改变时触发该方法
publicvoidonProgressChanged(SeekBararg0,intprogress,booleanfromUser){image.setAlpha(progress);
}//设置透明度
publicvoidonStartTrackingTouch(SeekBarbar){}
publicvoidonStopTrackingTouch(SeekBarbar){}});
16、星级评分条(RatingBar)
定义一个星级评分条:
RatingBarandroid:
@+id/rating"
numStars="
5"
//星的数量android:
50"
//总长度
10"
//单位长度android:
stepSize="
.5"
//允许最小尺寸/>
17、选项卡(TabHost)
定义一个TabHost<
TabHost……>
……<
/TabHost>
添加几个布局:
@+id/tb1"
>
@+id/tb2"
@+id/tb3"
1、TabHostth=getTabHost();
//获取选项卡
2、LayoutInflater.from(this).inflate(R.layout.main,th.getTabContentView(),true)//获取布局文件
3、在选项卡中添加已有的布局:
th.addTab(th.newTabSpec("
t1"
).setIndicator("
软件"
).setContent(R.id.tb1));
t2"
动漫"
getResources().getDrawable(R.drawable.ic_launcher)).setContent(R.id.tb2));
th.addTab(th.newTabSpec("
t3"
网络"
).setContent(R.id.tb3));
18、滚动条(ScrollView)
1、创建<
ScrollView:
2、创建<
HorizontalScrollView>
3、中间是文本内容,最后结束<
/HorizontalScrollView>
/ScrollView>
19、列表视图(ListView)
创建ListView(布局文件):
ListView……
divider="
@drawable/green"
//每个选项之间的分界图片
@+id/lv1"
/ListView>
Activity(方法2):
findViewById
String[]arr={"
大师兄"
fdasfd"
dafa"
};
ArrayAdapter<
arrayAdapter=newArrayAdapter<
(this,
android.R.layout.simple_expandable_list_item_1,arr);
lv.setAdapter(arrayAdapter);
20、详解simple_list_item
1、simple_list_item_1:
每一个列表项都是一个普通的TextView
2、simple_list_item_2:
每一个列表项都是一个普通的TextView,字体略大,TextView显示标题,TextView显示内容,因此需要两组数据,并且指定每组数据和两个TextView的对应关系
3、simple_list_item_checked:
每一个列表项都是一个已勾选的列表项
4、simple_list_item_multiple_choice:
每一个列表项都是带多选项
5、simple_list_item_single_choice:
每一个列表项都是带单选项
21、列表(ListView)
定义数组:
String[]arr={"
刘德华"
张学友"
黎明"
郭富城"
将数组中的内容添加到列表中:
List<
HashMap<
String,Object>
data=newArrayList<
String,Object>
();
for(inti=0;
i<
arr.length;
i++){
HashMap<
item=newHashMap<
item.put("
num1"
i);
value1"
arr[i]);
ata.add(item);
SimpleAdapteradapter=newSimpleAdapter(this,
data,android.R.layout.simple_list_item_2,
newString[]{"
},
newint[]{android.R.id.text1,android.R.id.text2});
//设置该窗口显示列表
setListAdapter(adapter);
形式二:
1、创建数组,以及对应图标:
privateString[]names=newString[]{"
唐伯虎"
祝枝山"
文征明"
徐祯卿"
privateint[]imageIds=newint[]{R.drawable.icon,
R.drawable.icon,R.drawable.icon,R.drawable.icon};
privateS