Android应用的界面编程.ppt

上传人:xt****7 文档编号:3759497 上传时间:2019-12-23 格式:PPT 页数:69 大小:776KB
返回 下载 相关 举报
Android应用的界面编程.ppt_第1页
第1页 / 共69页
Android应用的界面编程.ppt_第2页
第2页 / 共69页
Android应用的界面编程.ppt_第3页
第3页 / 共69页
点击查看更多>>
资源描述
Android手机开发,第2章Android应用的界面编程,第2章Android应用的界面编程,Android程序界面与View组件Android控制程序界面的三种方式布局管理器常见组件的使用方法部分高级组件介绍,布局管理,ViewGroup、xxxLayout、Button、TextView、ImageView等都是UI组件;xxxLayout又可以作为容器使用。,Activity,Activity是一个应用组件,包含了一个可以和用户交互的显示界面。一个应用程序可包含多个Activity,其中有一个mainactivity,当运行程序时首先启动它。Activity是一个类,继承自Activity类每一个Activity都要在AndroidManifest.xml文件当中注册,2.1Android控制程序界面的三种方式,使用XML布局文件控制UI界面google推荐findViewById()在Java代码中开发UI界面setContentView()混合使用XML布局文件和Java代码复杂界面中常用,XML布局文件是Android系统中定义视图的常用方法文件必须保存在res/layout目录中XML布局文件的扩展名必须是xmlXML的文件名必须符合Java的变量命名规则每一个布局文件的根节点可以是任意的组件布局文件的根节点必须包含android命名空间组件标签需要使用“+id/stringvalue”指定IDID值的必须符合Java的变量命名规范,使用XML布局视图,xmlns:android=“,为这个Activity设计一个界面布局(activity_main.xml),使用XML布局文件控制UI界面,创建一个Activity通常有这样几个步骤:需要创建一个Activity类的子类必须实现onCreate()方法,使用XML布局文件控制UI界面,publicclassMainActivityextendsActivityprivateTextViewtv;OverrideprotectedvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv=(TextView)findViewById(R.id.textview1);,视图(View)是可视化的界面元素也可以通过代码创建,视图概述,在Java代码中开发UI界面,/创建线性布局对象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混合布局,通过代码与XML布局结合进行混合布局一个混合布局的过程示例2、主布局的XML示例main.xml,代码与XML混合布局,通过代码与XML布局结合进行混合布局一个混合布局的过程示例3、通过代码整合主布局和子布局,/在Activity中显示主布局setContentView(R.layout.main);/动态加载子布局ViewmBarView=View.inflate(this,R.layout.child,null);/找到box容器LinearLayoutmLinearLayout=(LinearLayout)findViewById(R.id.box);/将子布局加入box容器mLinearLayout.addView(mBarView);,代码与XML混合布局,2.2XML布局管理,2.2.1LinearLayout,将组件按照水平或垂直方向排列orientationsetOritation(int)gravitysetGravity(int)layout_widthLayoutParamslayout_heightlayout_weight,用于设定组件大小相关的属性每一个视图都需要定义android:layout_width和android:layout_height,其值可以有如下几种情况可以指定确切的大小wrap_content:表示有视图的内容决定大小fill_parent(Level8之后改名为match_parent)表示与父容器一样大,定位与大小,设置组件填充父容器时存在两种方式内填充的部分存在于组件空间内,相当于页边距的效果padding用于设置四边的内边距paddingLeft、paddingRight、paddingTop、paddingBottom外填充的部分存在与组件空间外,类似于边界的间隔layout_margin用于设置四边的外部间距layout_marginLeft、layout_marginRight、layout_marginTop、layout_marginBottom,内填充与外填充,所谓重量属性指的是控件的比重layout_weight当layout_width或layout_height设置为wrap_content时控件的大小有内容决定layout_weight表示控件在满足内容显示之外需要占据的空间比重当llayout_width或layout_height设置为fill_parent时控件本身原则上需要充满父容器如果容器中存在多个控件,则比重大的占据空间反而小,重量属性,px(像素)不同设备的显示效果相同in(英寸)长度单位mm(毫米)长度单位pt(磅)1/72英寸dp(与密度无关的像素)一种基于屏幕密度的抽象单位在每英寸160个点的显示器上,1dp=1pxdip(与dp相同)sp(与刻度无关的像素)与dp类似,但是可以根据用户字体大小缩放建议用sp用作字体大小的单位,度量单位与字体,2.2.2TableLayout,派生自LinearLayout向每一行中添加组件每一行上可放置数量不同的组件android:collapseandroid:shrinkandroid:stretch,2.2.2Layout的嵌套,2.2.3FrameLayout,根据对齐方式把组件一个一个叠在一起,2.2.4AbsoluteLayout,通过X,Y坐标来控制组件位置layout_xlayout_ypx:像素dp(dip):设备独立像素pt:磅AbsoluteLayoutisdeprecated.,2.2.5RelativeLayout,容器内子组件由相对于兄弟组件、父容器的位置来确定android:layout_above将该控件的底端置于给定控件的上端android:layout_below将该控件的上端置于给定控件的下端android:layout_toLeftOf将该控件的右端置于给定控件的左端android:layout_toRightOf将该控件的左端置于给定控件的右端,2.2.5RelativeLayout,android:layout_alignLeft设置该控件的左端与给定控件的左端对齐android:layout_alignRight设置该控件的左端与给定控件的右端对齐android:layout_alignTop设置该控件的上端与给定控件的上端对齐android:layout_alignBottom设置该控件的底端与给定控件的底端对齐android:layout_alignBaseline将该控件的基线设置为给定控件的基线,2.2.5RelativeLayout(true),android:layout_alignParentLeft该控件与父控件的左端对齐android:layout_alignParentRight该控件与父控件的右端对齐android:layout_alignParentTop该控件与父控件的顶端对齐android:layout_alignParentBottom该控件与父控件的底端对齐,2.2.5RelativeLayout(true),android:layout_centerHorizontal该控件在父控件中水平居中android:layout_centerInParent该控件在父控件中水平垂直居中android:layout_centerVertical该控件在父控件中垂直居中,2.3.1TextViewsetView(),2.5.3对话框风格的窗口,android:theme=android.style/Theme.Dialog,2.5.4PopupWindow,(1)调用PopupWindow的构造器创建对象(2)显示PopupWindow:showAsDropDown(View)showAtLocation(),2.5.5DatePickerDialognotification.vibrate=newlong0,50,200,100;,2.7Menu,添加菜单:复写booleanonCreateOptionsMenu(Menumenu)响应事件:复写booleanonOptionsItemSelected(MenuItemitem)添加子菜单:addSubMenu()添加菜单项:add(groupId,itemId,order,title)setHeaderIcon(),setHeaderTitle(),2.7.3单选菜单和复选菜单,setCheckable(boolean)设为复选setGroupCheckable(intgroup,booleancheckable,booleanexclusive),2.7.5ContextMenu,registerForContextMenu(View)onCreateContextMenu(ContextMenumenu,Viewsource,ContextMenuInfomenuInfo)onContextItemSelected(MenuItemitem),
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!