我的Android1.docx
《我的Android1.docx》由会员分享,可在线阅读,更多相关《我的Android1.docx(42页珍藏版)》请在冰豆网上搜索。
我的Android1
4-1按键事件2
4-2ImageButton的使用(focus事件)2
4-3:
CheckBox的使用!
(可用于提交页面时使用)3
4-4按钮提交3
4-5:
:
CheckBox的使用!
(可用选中项目,进行相应的处理)3
4-6RadioGroup的使用3
4-7.ImageView图片列表控件3
4.8Spinner的使用(setOnItemSelectedListener)4
4-9.动态生成添加Spinner4
4-10.Gallery的使用4
4-11.文件搜索5
4-12imagebutton的使用5
4-13AutoCompleteTextView(自动补全控件)5
4-14.AnalogClock(时钟的运用)5
4-15.TimePicker,DatePicker()5
扩展anmi动画6
4-17.ProgressBar13
4-18.GridView的使用13
扩展:
Android字体和颜色13
4-19.ListView的使用15
4-20.Menu菜单(重要)16
4-21.文件读取(重要)17
4-22.文件+imageView19
4-23.图片的放大缩小20
4-24.Bitmap的旋转23
4-25RadioGroup的使用23
4-26AlertDialog对话框23
4-27SlidingDrawer23
4-1按键事件
et1=(EditText)findViewById(R.id.editText1);
/*设定EditText用OnKeyListener事件来启动*/
et1.setOnKeyListener(newEditText.OnKeyListener()
{
publicbooleanonKey(Viewv,intkeyCode,KeyEventevent){/*设定TextView显示EditText所输入的内容*/
tv1.setText("欢迎你"+et1.getText()+"!
");
returnfalse;
}
});
4-2ImageButton的使用(focus事件)
mButton1=(Button)findViewById(R.id.button1);
mTextView1=(TextView)findViewById(R.id.textView1);
mImageButton1.setFocusable(true);
mImageButton1.requestFocus();
/*透过OnFocusChangeListener来响应ImageButton的onFous事件*/
mImageButton1.setOnFocusChangeListener(newOnFocusChangeListener()
{
publicvoidonFocusChange(Viewv,booleanhasFocus){
若ImageButton状态为onFocus改变ImageButton的图片*并改变textView的文字*/
if(hasFocus==true)
{
mTextView1.setText("图片按钮状态为:
GotFocus");
mImageButton1.setImageResource(R.drawable.iconfull);
}
/*若ImageButton状态为offFocus改变ImageButton的图片*并改变textView的文字*/
else
{
mTextView1.setText("图片按钮状态为:
LostFocus");
mImageButton1.setImageResource(R.drawable.iconempty);
}
}
});
/*透过onClickListener来响应ImageButton的onClick事件*/
mButton1.setOnClickListener(newOnClickListener()
{
@Override
publicvoidonClick(Viewv){
/*若ImageButton状态为onClick改变ImageButton的图片*并改变textView的文字*/
mTextView1.setText("图片按钮状态为:
GotClick");
mImageButton1.setImageResource(R.drawable.iconfull);
}
});
4-3:
CheckBox的使用!
(可用于提交页面时使用)
myCheckBox.setChecked(false);
myButton.setEnabled(false);
4-4按钮提交
//Stringstr=et.getText().toString();文字不可改变
Editablestr=et.getText();//可以动态改变
/*使用系统标准的makeText()方式来产生Toast讯息*/
Toast.makeText(EX04_03Activity.this,"您的愿望"+str.toString()+"已送达耶诞老人信箱",Toast.LENGTH_LONG).show();
4-5:
:
CheckBox的使用!
(可用选中项目,进行相应的处理)
4-6RadioGroup的使用
privateRadioGroup.OnCheckedChangeListenermChangeRadio=newRadioGroup.OnCheckedChangeListener()
{
@Override
publicvoidonCheckedChanged(RadioGroupgroup,intcheckedId)
{
if(checkedId==mRadio1.getId())
{
/*把mRadio1的内容传到mTextView1*/
mTextView1.setText(mRadio1.getText());
}
elseif(checkedId==mRadio2.getId())
{
/*把mRadio2的内容传到mTextView1*/
mTextView1.setText(mRadio2.getText());
}
}
};
4-7.ImageView图片列表控件
/*设定ImageView底图*/
mImageView01.setImageDrawable(getResources().getDrawable(R.drawable.right));
mImageView02.setImageDrawable(getResources().getDrawable(R.drawable.oa));
4.8Spinner的使用(setOnItemSelectedListener)
privateString[]item={"唐僧","孙悟空","猪八戒","沙和尚"};
//设定一个Array适配器,将数组数据放入适配器中
ArrayAdapteradapter=newArrayAdapter(this,android.R.layout.simple_spinner_item,item);
//设置下拉列表的样式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//对Spinner进行适配
spinner.setAdapter(adapter);
publicvoidonItemSelected(AdapterView
>arg0,Viewarg1,intposition,longarg3)
4-9.动态生成添加Spinner
/*将值新增至adapter*/
adapter.add(newCountry);
/*取得新增的值的位置*/
intposition=adapter.getPosition(newCountry);
/*将Spinner选取在新增的值的位置*/
mySpinner.setSelection(position);
/*移除mySpinner的值*/
adapter.remove(mySpinner.getSelectedItem().toString());
4-10.Gallery的使用
/*透过findViewById取得*/
Galleryg=(Gallery)findViewById(R.id.mygallery);
/*新增一ImageAdapter并设定给Gallery对象*/
g.setAdapter(newImageAdapter(this));
/*改写BaseAdapter自定义一ImageAdapterclass*/
publicclassImageAdapterextendsBaseAdapter
/*一定要重写的方法getCount,传回图片数目*/
publicintgetCount()
{
returnInteger.MAX_VALUE;//循环
}
/*产生ImageView对象*/
ImageViewi=newImageView(mContext);
/*设定图片给imageView对象*/
i.setImageResource(myImageIds[position%myImageIds.length])
/*重新设定图片的宽高*/
i.setScaleType(ImageView.ScaleType.FIT_XY);
/*重新设定Layout的宽高*/
i.setLayoutParams(newGallery.LayoutParams(136,88));
/*设定Gallery背景图*/
4-11.文件搜索
4-12imagebutton的使用
4-13AutoCompleteTextView(自动补全控件)
AutoCompleteTextView是一个可编辑的文本视图显示自动完成建议当用户键入。
建议列表显示在一个下拉菜单,用户可以从中选择一项,以完成输入。
建议列表是从一个数据适配器获取的数据。
它有三个重要的方法clearListSelection():
清除选中的列表项、dismissDropDown():
如果存在关闭下拉菜单、getAdapter():
获取适配器。
4-14.AnalogClock(时钟的运用)
Thiswidgetdisplayananalogicclockwithtwohandsforhoursandminutes
4-15.TimePicker,DatePicker()
在Android中关于日期时间的类有TimePicker、DatePicker、TimePickerDialog、DatePickerDialog、Calendar。
其中TimePickerDialog、DatePickerDialog是对话框形式。
一、TimePicker
查看一个在24小时或上午/下午模式下一天的时间。
1.重要方法
setCurrentMinute(IntegercurrentMinute)设置当前时间的分钟
getCurrentMinute()获取当前时间的分钟
setEnabled(booleanenabled)设置当前视图是否可以编辑。
setOnTimeChangedListener(TimePicker.OnTimeChangedListeneronTimeChangedListener)当时间改变时调用
2.实例:
timePicker=(TimePicker)findViewById(R.id.timePicker);
timePicker.setCurrentHour(16);
timePicker.setCurrentMinute(10);
updateDisplay(16,10);
timePicker.setOnTimeChangedListener(this);
二、DatePicker
1.重要方法
getDayOfMonth():
获取当前Day
getMonth():
获取当前月
getYear()获取当前年
updateDate(intyear,intmonthOfYear,intdayOfMonth):
更新日期
三、TimePickerDialog、DatePickerDialog
以对话框形式显示日期时间视图
四、Calendar
日历是设定年度日期对象和一个整数字段之间转换的抽象基类,如,月,日,小时等。
实例
finalCalendarcalendar=Calendar.getInstance();
mYear=calendar.get(Calendar.YEAR);
mMonth=calendar.get(Calendar.MONTH);
mDay=calendar.get(Calendar.DAY_OF_MONTH);
mHour=calendar.get(Calendar.HOUR_OF_DAY);
mMinute=calendar.get(Calendar.MINUTE);
扩展anmi动画
动画效果编程基础--AnimationAndroid
动画类型
Android的animation由四种类型组成
XML中
alpha
渐变透明度动画效果
scale
渐变尺寸伸缩动画效果
translate
画面转换位置移动动画效果
rotate
画面转移旋转动画效果
JavaCode中
AlphaAnimation
渐变透明度动画效果
ScaleAnimation
渐变尺寸伸缩动画效果
TranslateAnimation
画面转换位置移动动画效果
RotateAnimation
画面转移旋转动画效果
Android动画模式
Animation主要有两种动画模式:
一种是tweenedanimation(渐变动画)
XML中JavaCodealphaAlphaAnimationscaleScaleAnimation
一种是framebyframe(画面转换动画)
XML中JavaCodetranslateTranslateAnimationrotateRotateAnimation
如何在XML文件中定义动画
① 打开Eclipse,新建Android工程
② 在res目录中新建anim文件夹
③ 在anim目录中新建一个myanim.xml(注意文件名小写)
④ 加入XML的动画代码
xmlversion="1.0"encoding="utf-8"?
>
android="
复制代码
Android动画解析--XML
xmlversion="1.0"encoding="utf-8"?
>
android=">
android:
fromAlpha="0.1"
android:
toAlpha="1.0"
android:
duration="3000"
/>
--透明度控制动画效果alpha
浮点型值:
fromAlpha属性为动画起始时透明度
toAlpha属性为动画结束时透明度
说明:
0.0表示完全透明
1.0表示完全不透明
以上值取0.0-1.0之间的float数据类型的数字
长整型值:
duration属性为动画持续时间
说明:
时间以毫秒为单位
-->
复制代码
xmlversion="1.0"encoding="utf-8"?
>
android="
android:
interpolator=
"@android:
anim/accelerate_decelerate_interpolator"
android:
fromXScale="0.0"
android:
toXScale="1.4"
android:
fromYScale="0.0"
android:
toYScale="1.4"
android:
pivotX="50%"
android:
pivotY="50%"
android:
fillAfter="false"
android:
startOffset=“700”
android:
duration="700"/>
--尺寸伸缩动画效果scale
属性:
interpolator指定一个动画的插入器
在我试验过程中,使用android.res.anim中的资源时候发现
有三种动画插入器:
accelerate_decelerate_interpolator加速-减速动画插入器
accelerate_interpolator加速-动画插入器
decelerate_interpolator减速-动画插入器
其他的属于特定的动画效果
浮点型值:
fromXScale属性为动画起始时X坐标上的伸缩尺寸
toXScale属性为动画结束时X坐标上的伸缩尺寸
fromYScale属性为动画起始时Y坐标上的伸缩尺寸
toYScale属性为动画结束时Y坐标上的伸缩尺寸
startOffset属性为从上次动画停多少时间开始执行下个动画
说明:
以上四种属性值
0.0表示收缩到没有
1.0表示正常无伸缩
值小于1.0表示收缩
值大于1.0表示放大
pivotX属性为动画相对于物件的X坐标的开始位置
pivotY属性为动画相对于物件的Y坐标的开始位置
说明:
以上两个属性值从0%-100%中取值
50%为物件的X或Y方向坐标上的中点位置
长整型值:
duration属性为动画持续时间
说明:
时间以毫秒为单位
布尔型值:
fillAfter属性当设置为true,该动画转化在动画结束后被应用
-->
复制代码
xmlversion="1.0"encoding="utf-8"?
>
android="
android:
fromXDelta="30"
android:
toXDelta="-80"
android:
fromYDelta="30"
android:
toYDelta="300"
android:
duration="2000"
/>
--translate位置转移动画效果
整型值:
fromXDelta属性为动画起始时X坐标上的位置
toXDelta属性为动画结束时X坐标上的位置
fromYDelta属性为动画起始时Y坐标上的位置
toYDelta属性为动画结束时Y坐标上的位置
注意:
没有指定fromXTypetoXTypefromYTypetoYType时候,
默认是以自己为相对参照物
长整型值:
duration属性为动画持续时间
说明:
时间以毫秒为单位
-->
复制代码
xmlversion="1.0"encoding="utf-8"?
>
android="
android:
interpolator="@android:
anim/accelerate_decelerate_interpolator"
android:
fromDegrees="0"
android:
toDegrees="+350"
android:
pivotX="50%"
android:
pivotY="50%"
android:
duration="3000"/>
--rotate旋转动画效果
属性:
interpolator指定一个动画的插入器
在我试验过程中,使用android.res.anim中的资源时候发现
有三种动画插入器:
accelerate_decelerate_interpolator加速-减速动画插入器
accelerate_interpolator加速-动画插入器
decelerate_interpolator减速-动画插入器
其他的属于特定的动画效果
浮点数型值:
fromDegrees属性为动画起始时物件的角度
toDegrees属性为动画结束时物件旋转的角度可以大于360度
说明:
当角度为负数——表示逆时针旋转
当角度为正数——表示顺时针旋转
(负数from——to正数:
顺时针旋转)
(负数from——to负数:
逆时针旋转)
(正数from——to正数:
顺时针旋转)
(正数from——to负数:
逆时针旋转)
pivotX属性为动画相对于物件的X坐标的开始位置
pivotY属性