您好,欢迎访问三七文档
*大学实验报告课程名称J2ME程序开发技术指导老师实验名称布局管理器班级姓名实验地点实验日期一、实验目的1.熟悉布局管理器相关知识2.理解帧布局中前后遮挡的概念3.掌握表格布局中增加行的方法4.掌握网格布局来创建较为复杂的界面二、实验平台Eclipse三、实验步骤及结果一.新建一个工程后,进入布局文件,首先将线性布局改成帧布局,实验的目的是要实现一个霓虹灯的效果。二.先在布局文件中添加两个Button组件,并修改text为开始和结束。三.然后要实现霓虹灯效果需要几个TextView组件,并且设定位置居中,如图:四.得到的结果为:五.计算器1.新建工程后,将工程的布局属性由LineLayout改为GridLayout2.在页面布局文件中添加一个TextView组件和若干个Button组件并写好相应的数字及运算符号3.加减乘除按钮通过java文件实现:通过数组来实现4.运行后的结果为:四、代码清单一.帧布局的xml文件:FrameLayoutxmlns:android=:tools=:layout_width=match_parentandroid:layout_height=match_parentandroid:paddingBottom=@dimen/activity_vertical_marginandroid:paddingLeft=@dimen/activity_horizontal_marginandroid:paddingRight=@dimen/activity_horizontal_marginandroid:paddingTop=@dimen/activity_vertical_margintools:context=.MainActivityButtonandroid:id=@+id/startbutandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:layout_marginLeft=100pxandroid:layout_marginTop=80pxandroid:text=开始/Buttonandroid:id=@+id/stopbutandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:layout_marginLeft=250pxandroid:layout_marginTop=80pxandroid:text=停止/TextViewandroid:id=@+id/tv1android:layout_width=320pxandroid:layout_height=320pxandroid:layout_gravity=centerandroid:background=@color/color1/TextViewandroid:id=@+id/tv2android:layout_width=280pxandroid:layout_height=280pxandroid:layout_gravity=centerandroid:background=@color/color2/TextViewandroid:id=@+id/tv3android:layout_width=240pxandroid:layout_height=240pxandroid:layout_gravity=centerandroid:background=@color/color3/TextViewandroid:id=@+id/tv4android:layout_width=200pxandroid:layout_height=200pxandroid:layout_gravity=centerandroid:background=@color/color4/TextViewandroid:id=@+id/tv5android:layout_width=160pxandroid:layout_height=160pxandroid:layout_gravity=centerandroid:background=@color/color5/TextViewandroid:id=@+id/tv6android:layout_width=120pxandroid:layout_height=120pxandroid:layout_gravity=centerandroid:background=@color/color6//FrameLayout二.帧布局的java文件为:packagecom.example.framedemo;importjava.util.Timer;importjava.util.TimerTask;importcom.example.framedemo.R;importandroid.app.Activity;importandroid.os.Bundle;importandroid.os.Handler;importandroid.os.Message;importandroid.util.Log;importandroid.view.Menu;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.TextView;publicclassMainActivityextendsActivity{privateTimertimer=null;privateTimerTasktimertask=null;privatestaticintcurcycle=0;privatestaticintSTOP_FLAG=1;privateint[]colors=newint[]{R.color.color1,R.color.color2,R.color.color3,R.color.color4,R.color.color5,R.color.color6,};privateint[]ids=newint[]{R.id.tv1,R.id.tv2,R.id.tv3,R.id.tv4,R.id.tv5,R.id.tv6};privateTextView[]textview=newTextView[ids.length];privateHandlerhandler=newHandler(){publicvoidhandleMessage(Messagemsg){if(msg.what==0x123){//变换六个TextView的颜色for(inti=0;iids.length;i++){textview[i].setBackgroundResource(colors[(i+curcycle)%6]);}curcycle++;}};};@OverrideprotectedvoidonCreate(BundlesavedInstanceState){Buttonstartbut,stopbut;super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);startbut=(Button)findViewById(R.id.startbut);stopbut=(Button)findViewById(R.id.stopbut);for(inti=0;iids.length;i++)textview[i]=(TextView)findViewById(ids[i]);startbut.setOnClickListener(newstartlistener());stopbut.setOnClickListener(stoplistener);}privateclassstartlistenerimplementsOnClickListener{@OverridepublicvoidonClick(Viewv){//TODOAuto-generatedmethodstub//周期性的改变六个textview的背景色,因此需要启动一个具有定时功能的线程来完成//由于改变背景色比较耗时的UI操作,因此交给Handler来处理//具体来说,这个定时线程要做的事情就是周期性的向Handler发送通知信息if(timer==null&timertask==null)STOP_FLAG=1;elseSTOP_FLAG=0;if(timer==null)timer=newTimer();if(timertask==null){timertask=newTimerTask(){@Overridepublicvoidrun(){//TODOAuto-generatedmethodstubhandler.sendEmptyMessage(0x123);}};}if(STOP_FLAG==1&&timer!=null&&timertask!=null)timer.schedule(timertask,0,200);}}privateOnClickListenerstoplistener=newOnClickListener(){@OverridepublicvoidonClick(Viewv){if(timer!=null){timer.cancel();timer=null;}if(timertask!=null){timertask.cancel();timertask=null;}}};}三.计算器的xml文件:GridLayoutxmlns:android=:tools=:id=@+id/rootandroid:layout_width=match_parentandroid:layout_height=match_parentandroid:layout_gravity=fillandroid:columnCount=4android:orientation=horizontalTextViewandroid:id=@+id/expressionTextViewandroid:layout_columnSpan=4android:layout_gravity=rightandroid:textSize=50pxandroid:lines=1/Buttonandroid:id=@+id/btnClearTextandroid:layout_columnSpan=2android:layout_gravity=fill_horizontalandroid:onClick=onClearTextandroid:text=clear/Buttonandroid:id=@+id/btnDeleteTextandroid:layout_columnSpan=2android:layout_gravity=fill_horizontalandroid:onClick=onDeleteTextandroid:text=delete//GridLayout四.计算器的java文件:packagecom.example.caldemo;importandroid.os.Bundle;importandro
本文标题:安卓布局实验
链接地址:https://www.777doc.com/doc-4380581 .html