付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android程序设计基础第3章:常用视图本章内容第1节活动组件Activity第2节视图(View)简介第3节使用XML布局视图第4节
使用代码控制视图第5节
基本视图第6节合理使用常量资源第7节
事件驱动模型本章目标了解Activity并能够创建和配置一个Activity。掌握视图的概念。明白Activity与Widget的区别。掌握XML方式布局界面的特点和一些基本特性。学会使用代码方式进行界面布局的方法。掌握几种常见基本视图的用法。学会使用几种常量资源。熟练掌握界面程序的事件驱动模型第1节
活动组件Activity知识点预览#知识点重点难点应用说明1创建第一个Activity√深入了解Activity的创建过程。2Activity配置详解√√
掌握Activity相关配置信息的使用。Activity是一个应用程序组件:包含了一个可以和用户交互的显示界面比如:拍照、发邮件、浏览地图等每个Activity都有一个窗口这个窗口通常是充满屏幕的也可以比屏幕小而浮于其他窗口之上一个Android应用程序可以包含一个或多个Activity这些Activity之间是相对独立的当一个Activity启动时,之前的那个Activity就停止了创建第一个Activity创建一个Activity通常有这样几个步骤:为这个Activity设计一个界面布局创建第一个Activity<LinearLayoutxmlns:android=""android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:id="@+id/textview1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="我是文本控件"/></LinearLayout>创建一个Activity通常有这样几个步骤:需要创建一个Activity类的子类必须实现onCreate()方法创建第一个Activitypublic
classMainActivityextendsActivity{
@Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }}Intent是在组件之间传递的消息可以在同一个应用程序或者不同应用程序之间传递这个消息是一个Intent类的对象,包含一组信息Action——要执行的或者已发生的动作ACTION_CALL(字符串常量)ACTION_MAIN(字符串常量)ACTION_SCREEN_ON(字符串常量)Category——指明应该处理当前intent的组件种类CATEGORY_HOME(字符串常量)CATEGORY_LAUNCHER(字符串常量)Activity配置详解Intent过滤器用于指定组件“愿意”接收的Intent可以包含Intent中包含的信息所对应的过滤条件ActionCategory在配置Activity时通常通过Intent过滤器来给定Activity的执行条件Activity配置详解在AndroidManifest.xml文件中配置ActivityActivity配置详解<manifest…><application…><activityandroid:name=“com.csg.MainActivity”android:label="@string/app_name"><intent-filter><actionandroid:name=“ent.action.MAIN”/><categoryandroid:name=“ent.category.LAUNCHER”/></intent-filter></activity></application></manifest>创建第一个Activity演示创建一个Activity的过程第2节视图(view)简介知识点预览#知识点重点难点应用说明1视图概述√√
了解视图的种类与特性。2视图与Widget的区别√了解Widget的特点。
视图(View)是可视化的界面元素任何可视化组件都需要从android.view.View类继承视图类通常分3种:布局类、视图容器类和基础视图类视图概述ViewViewGroupTextView视图容器类GridViewListViewLayoutButtonEditView视图(View)是可视化的界面元素视图对象可以单个组件或者很多组件的组合可以通过XML来创建视图对象视图概述<LinearLayoutandroid:orientation=“vertical”android:layout_width=“fill_parent”android:laout_height=“fill_parent”><TextViewandroid:id="@+id/text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello,IamaTextView"/><Button…/></LinearLayout>视图(View)是可视化的界面元素也可以通过代码创建视图概述LinearLayoutlayout=newLinearLayout(this);layout.setOrientation(LinearLayout.VERTICAL);layout.setLayoutParams(newLayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);TextViewmTextView=newTextView(this);mTextView.setText("HelloWorld");layout.addView(mTextView);视图与Widget有着很大的差别View是可视化的组件元素Widget其实是一个迷你的ApplicationView可以存在于Widget中View可以认为是界面的更加基本的元素视图与Widget的区别第3节使用XML布局视图知识点预览#知识点重点难点应用说明1使用XML布局视图√√√介绍XML实现布局的实现步骤。2度量单位与字体√√介绍XML布局中的度量单位与字体属性。3定位与大小介绍XML布局中的定位与大小属性。4内填充与外填充
介绍XML布局中的内填充与外填充属性。5重量属性
介绍XML布局中的重量属性。XML布局文件是Android系统中定义视图的常用方法文件必须保存在res/layout目录中XML布局文件的扩展名必须是xmlXML的文件名必须符合Java的变量命名规则每一个布局文件的根节点可以是任意的组件布局文件的根节点必须包含android命名空间组件标签需要使用“@+id/stringvalue”指定IDID值的必须符合Java的变量命名规范使用XML布局视图xmlns:android=“”<TextViewandroid:id=“@+id/textview1”…>XML布局文件示例使用XML布局视图<?xmlversion=“1.0”encoding=“utf-8”?><LinearLayoutxmlns:android=“”android:orientation=“vertical”android:layout_width=“fill_parent”android:layout_height=“fill_parent”><TextViewandroid:id=“@+id/textview1”android:layout_width=“fill_parent”android:layout_height=“wrap_content”android:text=“textview1”/><Buttonandroid:id=“@+id/button1”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:text=“ok”/></LinearLayout>在Activity中使用XML布局通过调用setContentView()方法在代码中使用XML布局通过调用findViewById()方法在代码中控制视图使用XML布局视图publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);
setContentView(R.layout.main);}TextViewtextView1=(TextView)findViewById(R.id.textview1);textView1.setText(“新的字符串内容”);属性中的度量单位px(像素)不同设备的显示效果相同in(英寸)长度单位mm(毫米)长度单位pt(磅)1/72英寸dp(与密度无关的像素)一种基于屏幕密度的抽象单位在每英寸160个点的显示器上,1dp=1pxdip(与dp相同)sp(与刻度无关的像素)与dp类似,但是可以根据用户字体大小缩放建议用sp用作字体大小的单位度量单位与字体属性中的字体使用android:textAppearance指定字体外观android:textAppearance="?android:attr/textAppearanceSmall"android:textAppearance="?android:attr/textAppearanceMedium“android:textAppearance="?android:attr/textAppearanceLarge"使用android:textColor指定文本颜色使用android:textColorHighlight指定选中字体的底色,默认蓝色使用android:textColorHint指定提示信息文字的颜色,默认灰色使用android:textColorLink指定文字链接的颜色使用android:textScaleX指定文字之间间隔,默认1.0f使用android:textSize指定文字大大小使用android:textStyle指定字形使用android:typeface指定文本字体度量单位与字体视图组件主要依靠布局来排列,配合相对定位将该视图的边缘相对于给定的ID的视图边缘对齐android:layout_aboveandroid:layout_belowandroid:layout_toRightOfandroid:layout_toLeftOf将该视图的边缘和给定ID的视图边缘对齐android:layout_alignTopandroid:layout_alignBottomandroid:layout_alignRightandroid:layout_alignLeft将该视图的文本基线和给定ID的视图文本基线对齐android:layout_alignBaseline将该视图的边缘和父视图的边缘对齐android:layout_alignParentTopandroid:layout_alignParentBottomandroid:layout_alignParentRightandroid:layout_alignParentLeft将该视图定位于父视图的中心android:layout_centerInParentandroid:layout_centerHorizontalandroid:layout_centerVertical定位与大小用于设定组件大小相关的属性每一个视图都需要定义android:layout_width和android:layout_height,其值可以有如下几种情况可以指定确切的大小wrap_content:表示有视图的内容决定大小fill_parent(Level8之后改名为match_parent)表示与父容器一样大定位与大小设置组件填充父容器时存在两种方式内填充的部分存在于组件空间内,相当于页边距的效果padding——用于设置四边的内边距paddingLeft、paddingRight、paddingTop、paddingBottom外填充的部分存在与组件空间外,类似于边界的间隔margin——用于设置四边的外部间距marginLeft、marginRight、marginTop、marginBottom内填充与外填充所谓重量属性指的是控件的比重layout_weight当layout_fill设置为wrap_content时控件的大小有内容决定layout_weight表示控件在满足内容显示之外需要占据的空间比重当layout_fill设置为fill_parent时控件本身原则上需要充满父容器如果容器中存在多个控件,则比重大的占据空间反而小重量属性几个常用属性的使用演示演示几个常用属性的使用第4节使用代码控制视图知识点预览#知识点重点难点应用说明1利用代码布局视图√√√介绍如何使用代码进行视图的布局。2代码与XML混合布局√√√介绍通过代码与XML混合进行视图的布局。代码也可以实现布局视图的能力利用代码进行布局相比XML可以提高运行效率一个XML布局示例利用代码布局视图<?xmlversion=“1.0”encoding=“utf-8”?><LinearLayoutxmlns:android=“”android:orientation=“vertical”android:layout_width=“fill_parent”android:layout_height=“fill_parent”><TextViewandroid:id=“@+id/textview1”android:layout_width=“fill_parent”android:layout_height=“wrap_content”android:text=“textview1”/></LinearLayout>代码也可以实现布局视图的能力等价的代码布局代码利用代码布局视图//创建线性布局对象LinearLayoutmLinearLayout=newLinearLayout(this);setContentView(mLinearLayout);mLinearLayout.setLayoutParams(newLinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));mLinearLayout.setOrientation(LinearLayout.VERTICAL);//创建文本控件对象TextViewtv=newTextView(this);tv.setText(“textview1”);LinearLayout.LayoutParamsmLayoutParams=newLinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);//将文本控件添加到线性布局容器中mLinearLayout.addView(mTextView,mLayoutParams);通过代码与XML布局结合进行混合布局有时候存在一个容器中的子内容可变的情况可以将类似模板的容器和各种可变子内容分别定义在XML中通过代码进行主布局和子布局的动态整合一个混合布局的过程示例1、子布局的XML示例child.xml代码与XML混合布局<LinearLayoutxmlns:android=""android:id="@+id/toolbar"android:layout_width="wrap_content"android:layout_height="wrap_content"><ImageButtonandroid:id="@+id/okBtn"android:src="@drawable/okbtn"android:layout_width="wrap_content"android:layout_height="wrap_content"></ImageButton></LinearLayout>通过代码与XML布局结合进行混合布局一个混合布局的过程示例2、主布局的XML示例main.xml代码与XML混合布局<RelativeLayoutxmlns:android=""android:id="@+id/background"android:layout_width="fill_parent"android:layout_height="fill_parent"><!--主布局给子布局设置一个容器box--><LinearLayoutandroid:id="@+id/box"android:layout_alignParentBottom="true"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerHorizontal="true"></LinearLayout></RelativeLayout>通过代码与XML布局结合进行混合布局一个混合布局的过程示例3、通过代码整合主布局和子布局代码与XML混合布局//在Activity中显示主布局setContentView(R.layout.main);//动态加载子布局
ViewmBarView=View.inflate(this,R.layout.child,null);//找到box容器LinearLayoutmLinearLayout=(LinearLayout)findViewById(R.id.box);//将子布局加入box容器mLinearLayout.addView(mBarView);使用代码控制视图的演示演示使用代码控制视图第5节基本视图知识点预览#知识点重点难点应用说明1文本控件√介绍文本控件的特点与使用。2按钮控件√介绍按钮控件的特点与使用。3可编辑文本框√介绍可编辑文本框的特点与使用。4单选控件介绍单选控件的特点与使用。5复选控件√介绍复选控件的特点与使用。文本控件——TextView显示文本信息显示基本文本显示复杂文本文本控件<TextViewandroid:id=“@+id/textview1”android:layout_width=“fill_parent”android:layout_height=“wrap_content”android:text=“我是文本控件”/><TextViewandroid:id=“@+id/textview1”android:layout_width=“fill_parent”android:layout_height=“wrap_content”android:text=“我是文本控件”android:textSize=“20dp”android:textColor=“#FF0000”android:background=“#FFFFFF”android:padding=“30dp”android:layout_margin=“30dp”/>文本控件——TextView显示文本信息显示文本的运行效果文本控件文本控件——TextView显示URL信息通过指定android:autoLink属性来自动识别URL内容none不匹配任何链接(默认值)web匹配web地址email匹配Email地址phone匹配电话号码示例文本控件<TextViewandroid:id=“@+id/urlview”android:layout_width=“fill_parent”android:layout_height=“wrap_content”android:link=“email”/>TextViewurlView=(TextView)findViewById(R.id.urlview);urlView.setText(“电子邮件:”);按钮控件——Button一个普通按钮控件的示例运行效果按钮控件<Buttonandroid:id=“@+id/okbtn”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:text=“我是按钮”/>单选控件——RadioButton一个普通单选控件的示例运行效果单选控件<RadioGroupandroid:layout_width=“wrap_content”android:layout_height=“wrap_content”><RadioButtonandroid:id=“@+id/option1”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:text=“选项1”/><RadioButtonandroid:id=“@+id/option2”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:text=“选项2”/></RadioGroup>复选控件——CheckBox一个普通复选控件的示例运行效果复选控件<CheckBoxandroid:id=“@+id/checkbox1”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:text=“工作了吗?”/><CheckBoxandroid:id=“@+id/checkbox2”android:layout_width=“wrap_content”android:layout_height=“wrap_content”android:text=“结婚了吗?”/>基本视图演示几个基本视图的运行效果第6节合理使用常量资源知识点预览#知识点重点难点应用说明1字符串常量资源√介绍字符串常量资源的使用情景与用法。2数组常量资源√介绍数组常量资源的使用情景与用法。3尺寸常量资源√介绍尺寸常量资源的使用情景与用法。使用字符串常量资源当有字符串常量需要在程序中使用时应该定义字符串常量资源在res/values/string.xml中定义在XML布局中使用在代码中使用字符串常量资源<?xmlversion="1.0"encoding="utf-8"?><resources><stringname=“okLabel”>确定</string></resources><Button…android:text=“@string/okLabel”/>ButtonokBtn=(Button)findViewById(R.id.okBtn);okBtn.setText(getString(R.string.okLabel));使用数组常量资源当有固定内容的数组需要在程序中使用时可以定义数组常量资源在res/values/arrays.xml中定义在代码中使用可以使用ID的地方直接使用ID就可以在不方便使用ID的地方可以通过方法调用使用数组常量资源<?xmlversion="1.0"encoding="utf-8"?><resources><string-arrayname="booktype"><item>语言类</item><item>工具类</item></string-array></resources>String[]array=getResources().getStringArray(R.array.booktype);使用尺寸常量资源在尺寸常量资源中定义一些固定不变的尺寸信息,如:间隔在res/values/dimens.xml中定义在XML布局中使用在代码中使用尺寸常量资源<resources><!--Defaultscreenmargins,pertheAndroidDesignguidelines.--><dimenname="horizontal_margin">16dp</dimen><dimenname="vertical_margin">16dp</dimen></resources>intmargin=getResources().getDimension(R.dimen.horizontal_margin);<RelativeLayoutxmlns:android=""android:paddingBottom="@dimen/vertical_margin"android:paddingLeft="@dimen/horizontal_margin“…>常量资源使用演示演示使用常量资源第7节事件驱动模型知识点预览#知识点重点难点应用说明1事件驱动模型三要素√介绍事件驱动模型的思想与要素。2Java匿名类√介绍Java中匿名类的定义与用法。3为控件植入事件处理√介绍如何给控件定义事件处理程序。4特殊事件:手势√介绍一个Android中的特殊事件:手势事件驱动模型事件源:事件的制造者,如:按钮通常会拥有注册和取消监听器的功能监听器:事件的接收者,通常是自己编写的类的对象一个实现了事件源所支持的事件接口的类事件:事件源产生的某一个具体事件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- ISO10012-2026《质量管理-测量管理体系要求》之26:“8.5测量过程实施-8.5.2标识和可追溯性”专业指导问答材料(雷泽佳编制-2026A0)
- 分级护理知识精讲
- 2025-2030中国回路供电仪表行业现状规模与发展趋势预测报告
- 金融学就业前景分析
- 历年大学英语六级真题及答案
- 银行防盗抢方案
- 2025年吉林省通化市初二地理生物会考考试真题及答案
- 2025年浙江金华市初二地理生物会考试卷题库及答案
- 2025年广西八年级地理生物会考考试试题及答案
- 2025年广东省肇庆市地理生物会考考试真题及答案
- 2025年辅警面试考试试题库及答案
- 2026年西安中体实业有限公司招聘(4人)建设考试参考题库及答案解析
- TSG 08-2026 特种设备使用管理规则
- 2026年生态环境法规的国际比较
- 2026年广西壮族自治区南宁市重点学校小升初语文考试真题试卷+解析及答案
- 国开2026年春季《形势与政策》专题测验1-5答案
- 防台风物资管理台账模板
- 2026年三门峡职业技术学院单招职业技能考试题库带答案详解(典型题)
- 餐饮vi设计清单
- GJB3243A-2021电子元器件表面安装要求
- 高中家长会 家校合作,共赢高考课件-高三下学期二模分析家长会
评论
0/150
提交评论