移动终端综合实训_第1页
移动终端综合实训_第2页
移动终端综合实训_第3页
移动终端综合实训_第4页
移动终端综合实训_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、移动应用开发技术实 训 指 导 书2015年9月实训一简单的Activity实训要求:了解Android应用开发的过程掌握Android中资源的使用方法了解常用组件的使用方法与事件处理过程实训内容:1、创建Android应用,包含一张图片,在资源中准备4张图片,默认显示第一张图片,点击图片,实现图片自动顺序轮换。1)准备4张图片放到资源文件中。2)使用ImageView显示第一张图片,为 ImageView 添加ID。3)为ImageView添加事件,实现图片轮换实验步骤及代码:新建Android项目,对 MainActivity的布局视图进行修改,删除原来 的TextView组件,添加Ima

2、geView组件,ID设置为imagev1在MainActivity 的类中添加成员变量private int imgs = R.drawable.an1,R.drawable.an2,R.drawable.an3,R.drawable.an4 ;private int p=0; /代表图片组件显示的是第几张图片在MainActivity 的onCreate方法中添加代码final ImageView mv = (ImageView) findViewById(R.id.imageView1); mv.setOnClickListener(new OnClickListener() Overr

3、idepublic void onClick(View v) p=+p%imgs.length;mv.setImageResource(imgsp););实训二 Android 基本组件(布局)实训要求:掌握相对布局的常用 XML属性掌握线性布局的常用 XML属性实训内容:1、使用相对布局结合 TextView和EditText、Button完成用户登录界面的设计2、为登录按钮添加事件处理,判断用户是否等于abc,完成对简单的登录事件的处理1、实训步骤与代码:使用相对布局的方式对组件进行布局,布局文件的内容如下 2.在Activity的OnCreate方法中添加相应的代码,对用户名进行判断Bu

4、tton btnOk=(Button)findViewById(R.id.ok);final EditText et=(EditText)findViewById(R.id.in);btnOk.setOnClickListener(new OnClickListener()Overridepublic void onClick(View arg0) String str=et.getText().toString(); if(str.equals(abc) Log.v( Login ”,”成功);实训三用户常用组件实训要求:掌握常用组件ImageView和Button的属性掌握常用组件的事件处

5、理实训内容:1)使用相对布局,在界面上显示一个ImageView组件,显示一个图片, 在图片下方添加两个按钮“+”、“-”。2)点击按钮+或-,动态修改图片的透明度,每次点击的变化为10。实训步骤及代码:1、在布局界面上放置一个ImageView组件,并指定一个图片资源作为显示的内容,id为imgv,在图片下方添加两个Button按钮,ID分别为add和sub。 2、在Activty的类成员中添加一个int型变量alpha,描述当前图片的透 明度。在Activity的onCreate方法中添加以下的代码Button add=(Button)findViewById(R.id.add);fina

6、l Button sub=(Button)findViewById(R.id.sub);final ImageView im=(ImageView)findViewById(R.id.imgv);sub.setOnClickListener(new OnClickListener()Overridepublic void onClick(View arg0) alpha-=10;im.setAlpha(alpha);if(alpha0) sub.setEnabled(false););add.setOnClickListener(new OnClickListener()Overridepub

7、lic void onClick(View arg0) alpha+=10;im.setAlpha(alpha););实训四ListView的使用实训要求:掌握ArrayAdapter创建ListView ,显示自定义的列表实训内容:要求卞!据Android短信应用的显示界面,模拟实现10条短信列表的显示。说明SimpleAdapter (Context context, List ? extends Map data, intresource, String from, int to)参数context :上下文,比如 this。关联SimpleAdapter 运行的视图上下文参数data

8、: Map列表,列表要显示的数据,这部分需要自己实现,如例子中的 getData(), 类型要与上面的一致,每条项目要与from中指定条目一致参数resource : ListView单项布局文件的Id,这个布局就是你自定义的布局了,你想显示什么样子的布局都在这个布局中。这个布局中必须包括了to中定义的控件id参数from: 一个被添加到 Map上关联每一个项目列名称的列表,数组里面是列名称参数to:是一个int数组,数组里面的id是自定义布局中各个控件的id,需要与上面的from对应实训步骤及代码:在主界面的布局添加ListView组件,id= messageList新建一个布局文件文件名为

9、onemessage?xrr.l version-,rL * 0 encoding-_匕0nandz old: 1 ayaut_Iie ight= vrp_con ten t”android: text-,FrextViep /3、在类成员中定义头像资源的数组和一个随机数生成器 int imgs = R.drawable.anl,R.drawable.an2,R.drawable.an3,R.drawable.an4 ;Random random=new Random();4、然后在OnCreate方法中添加相关的代码实现此功能。ListView lv = (ListView) findVie

10、wById(R.id.messageList);ArrayListMap data = new ArrayListMap();以下循环生成10条信息记录,并添加到data中for(int i=0;i=10;i+)MapString, Objectmap = new HashMap();int r=random.nextInt(imgs.length);/ 随机头像索弓Imap.add( pic”,r);map.put(telno, 12345678);map.put(time, 10:13 );map.put(content,这是短消息的内容”); data.add(map);SimpleAd

11、apter adapter = new SimpleAdapter(this, data,/这是数据R.layout.onemessage,/每一项用哪个布局来显示new String telno, time, content,pic , /map 中的 keynew int R.id.mobile, R.id.mtime, R.id.mcontent,R.id.picid/单项信息界面上的组件的ID,与map的key相对应);Iv.setAdapter(adapter);/为 listview 指定 adapter。实训五Menu、Dialog 的使用实训要求:掌握Menu的创建与事件的处理

12、掌握AlertDialog简单对话框的使用实训内容:创建Activie创建选项菜单,加入退出选项,点击菜单项,弹出确认对话框,文字为标题为“确认”,内容:“你需要退出么?”,点击确认退出应用程序。实训步骤及代码:1、定义菜单定义文件 sys.xml2、在Activity中添加相应的方法Overridepublic boolean onCreateOptionsMenu(Menu menu) getMenuInflater().inflate(R.menu.sys,menu); /菜单资源文件转换成菜单项加载return true;)Overridepublic boolean onOption

13、sItemSelected(MenuItem item) int menuid=item.getItemId();switch(menuid)case R.id.exit:AlertDialog dialog=new AlertDialog.Builder(this).setTitle( 确认”).setMessageC你确定要退出么?).setIcon(R.drawable.ic_launcher).setPositiveButton(确定,new OnClickListener() Overridepublic void onClick(DialogInterface dialog, in

14、t which) MainActivity.this.finish();).setNegativeButton(取消, null).create();dialog.show();break;return super.onOptionsItemSelected(item);实训I六 NotificationIntent实训要求:掌握Toast对象的创建与使用。掌握Notification对象的创建和创建自定义的通知。实训内容:创建一个简单的布局,添加一个按钮,并为按钮添加相应的处理事件,点击按钮用Toast显示“请等待一会儿”这样的字符。添加第二个按钮,为按钮添加点击处理事件,点击后在通知栏内添

15、加一个消息提示, tickerText,来消息啦,通知栏标题是“好消息”,内容文字:“免费抢书啦! ”。如点击将 启动一个新的 Activity 。实训步骤及代码:在MainActivity 的onCreate方法中为第一个按钮onClick事件添加相应的代码Toast toa=Toast.makeText(this,“请等待一会儿”,Toast.LENGTH_LONG);toa.show();第二个按钮的onClick相关代码Notification no=new Notification();no.tickerText=来消息啦!,通告来临时,显示在最上面,一会儿就消失no.icon=R.

16、drawable.tu2;/ 显示图标no.when=System.currentTimeMillis();no.flags = Notification.FLAG_AUTO_CANCEL;Intent intent=new Intent(MainActivity.this,Tips.class);PendingIntent pend=PendingIntent.getActivity(MainActivity.this, 0, intent, 0);no.setLatestEventInfo(MainActivity.this,好消息,免费抢书啦!,pend);好消息:是在通告栏打开时,这个

17、通告的标题 免费抢书啦!:是在通告栏打开时,这个通告的内容NotificationManager fmrg=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);fmrg.notify(0,no);实训七Android数据存储实训要求:掌握Android中使用SharedPreferences保存配置和读取配置的方法。实训内容:创建一个 Activity,使用SharedPreferences对象保存程序运行的次数和上次运行的时间, 并用TextView显示出来。要求:1)第一次运行,显示:你首次运行App!2)后续运行,显示:

18、你第 x次运行App ,上次运行时间:xxxx-xx-xx3)添加一个退出按钮,点击退出结束Activity的运行实训步骤及代码:public class MainActivity extends Activity private TextView hi;private int count;private static final String CONFIG = AppConfig;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentVie

19、w(R.layout.activity_main);hi = (TextView) findViewById(R.id.hi);SharedPreferences setting = getSharedPreferences(CONFIG,Context.MODE_PRIVATE);count = setting.getInt(NUM, 0);String date = setting.getString(LAST, );if (count 0) hi.setText( 第+ (count + 1) + 次使用 APR + 上次使用:+ date); else hi.setText( 第+ (

20、count + 1) + 次使用 APP );Overrideprotected void onStop() super.onStop();SharedPreferences setting = getSharedPreferences(CONFIG,Context.MODE_PRIVATE);Date d = new Date();SimpleDateFormat sdf = new SimpleDateFormat(yyyy 年 MM 月 dd 日HH:mm:ss);String str = sdf.format(d);count+;setting.edit().putInt(NUM,co

21、unt).putString(LAST,str).commit();实训八Sqlite数据存储实训要求:1)掌握Sqlite数据库的使用方法2)掌握SqliteOpenHelper的使用方法3)进一步掌握选项菜单的创建实训内容:创建一个Android日记本应用,采用Sqlite数据库作为信息的存储,使用SqliteOpenHelper 操作数据库。要求结合菜单能对日记进行添加和删除。实训步骤及相关代码:为Sqlite数据库创建助手类,继承 SqliteOpenHelperpublic class DatabaseHelper extends SQLiteOpenHelper privatest

22、aticfinalStringDATABASE_NAME = my.db;/数据库名privatestaticfinalintDATABASE_VERSION =1;privatestaticfinalStringDATABASE_TABLE = diary;/表名/分别是表中的4个字段名,private static final StringKEY ID = ID,KEY TITLE=TITLE , KEY BODY = BODY , KEY CREATED =CREATED” public DatabaseHelper(Context context) super (context, DA

23、TABASE_NAME, null , DATABASE_VERSION );)Overridepublic void onCreate(SQLiteDatabase db) try String sql= create table diary (_id integer primary key autoincrement, title varchar(20) not null,body varchar(20) not null,created varchar(20) null );db.execSQL(sql); catch (Exception e) /TODO: handle except

24、ionLog. e( aa ,e.getMessage();int oldVersion,intOverridepublic void onUpgrade(SQLiteDatabase db, newVersion) )(2)创建自己的数据操作类,完成日记记录的添、删、改功能。package com.example.demo06;import java.text.SimpleDateFormat;import java.util.Date;import android.content.ContentValues;import android.content.Context;import and

25、roid.database.Cursor;import android.database.sqlite.SQLiteDatabase;public class DiaryDbAdapter private static final String DATABASE_TABLE = diary;/ 表名分别是表中的4个字段名,private static final String KEY_ROWID = _ID, KEY_TITLE = TITLE, KEY_BODY = BODY, KEY_CREATED = CREATED;private SQLiteDatabase db;private D

26、atabaseHelper helper;private Context context;public DiaryDbAdapter(Context context) this.context = context;)public void open() helper = new DatabaseHelper(context);db = helper.getWritableDatabase();)public void close() helper.close();public void createDiary(String title, String body) Date d = new Da

27、te();SimpleDateFormat sdf = new SimpleDateFormat(yyyy 年 MM 月 dd 日 HH 时 mm 分)String da = sdf.format(d);db.execSQL(insert into diary(title,body,created) values(?,?,?), new Object title, body, da );/删除指定记录public boolean deleteDiary(long rowId) return db.delete(DATABASE_TABLE, KEY_ROWID + = + rowId, nul

28、l) 0;public Cursor getAllNotes() Cursor cursor = db.query(DATABASE_TABLE, new String KEY_ROWID, KEY_TITLE, KEY_BODY , KEY_CREATED , null, null, null, null, null);return cursor;public boolean updateDiary(long rowId, String title, String body) Date d = new Date();SimpleDateFormat sdf = new SimpleDateF

29、ormat(yyyy 年 MM 月 dd 日 HH 时 mm 分)String created = sdf.format(d);ContentV alues args = new ContentValues();args.put(KEY_TITLE, title);args.put(KEY_BODY , body);args.put(KEY_CREATED, created);return db.update(DATABASE_TABLE, args, KEY_ROWID + = + rowId, null) 0;(3)设计界面,调用数据操作类实现功能。C Demo06TciriVim修改删除

30、2查询 g/LinearLayoutadd DiaryDbAdapter dd =new DiaryDbAdapter( this );dd.open(); dd.createDiary(你好,好好学习);dd.close();SelectDiaryDbAdapter dd =new DiaryDbAdapter( this );集合dd.open(); Cursor result = dd.getAllNotes(); / * 构建Listview 适配器 List all =new ArrayList();/定义 Listfor (result.moveToFirst(); !result

31、.isAfterLast(); result .moveToNext() all.add( 【+ result.getString(O) +】+ + result.getString(l) + , ); / 设置集合数据) /将数据包装,每行显示一条数据 datashow .setAdapter(ListAdapter)newArrayAdapter(this ,android.R.layout. simple_expandable_list_item_1,all);dd.close();实训九组件通讯与广播实训要求:掌握广播的定义与处理过程,通过广播来触发通知栏显示内容。实训内容:定义广播接

32、收者,在 Activity中用按钮触发一个广播事件,接收者在系统的通知 栏中显示相应的信息(标题:广播消息,内容:新的广播消息)实训步骤及相关代码:(1)编写广播接收者类 MyReceiver继承于BroadcastReceiverpublic class MyReceiver extends BroadcastReceiver Overridepublic void onReceive(Context arg0, Intent arg1) Bundle extras = arg1.getExtras();String str =extras.getString(MSG);Toast.make

33、Text(arg0,我收到你的消息:+ str, Toast.LENGTH_LONG).show(); AndroidManifest.xml文件定义 Activity发出广播消息protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bt1=(Button)findViewById(R.id.button1);et=(EditText)findViewById(R.id.editText1);bt1.

34、setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) Intent intent=new Intent(.wxic.BROADCAST););Bundle extras=new Bundle();extras.putString(MSG, et.getText().toString();intent.putExtras(extras);sendBroadcast(intent);实训十使用Service实训要求:熟悉Service的概念掌握Service的定义与运行过程实训内容:创建一个Serv

35、ice,实现MP3播放器,分别处理 Service相应的方法。要求:实现 MP3的播放、停止功能。实训步骤及相关代码:(1)继承Service来实现自己的服务 MyServicepublic class MyService extends Service private MediaPlayer player;Overridepublic IBinder onBind(Intent arg0) return null;Overridepublic void onCreate() super.onCreate();player=MediaPlayer.create(this, R.hk);play

36、er.start();Log.v(Message,服务创建.”);Overridepublic int onStartCommand(Intent intent, int flags, int startId) Log.v(Message, 服务启动return super.onStartCommand(intent, flags, startId);Overridepublic void onDestroy() super.onDestroy();player.stop();Log.v(Message,服务销毁.);)(2)在 AndroidManifest.xml 中注册服务 在Activ

37、ity中启动服务protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);b1=(Button)findViewById(R.id.button1);b2=(Button)findViewById(R.id.button2);b1.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) /启用服务,服务与广播

38、相似度很高,通过 Action来指定服务Intent intent=new Intent(cn.wxic.service.one); startService(intent);) );b2.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) Intent intent=new Intent(cn.wxic.service.one);stopService(intent); );实训H一实现启动画面实训要求:掌握启动画面的设计。实训内容:新建一个 Android工程,再建 Activity ,来

39、实现启动画面。实训步骤及相关代码:所有的类名必须加下自已学号的后三位(1)新建一个 Android工程,工程名为自已姓名的拼音,Activity 为Splash.java布局文件为 splash.xml(2)找一张启动图片更名为splash.png,放置在res-drawable-hdpi文件夹中。(3)调整splash.xml的布局version= ,l. 0 encoding=rr7cTexcViewandroidsid-nff+1d/vers ioNLraber andr old: 1 aya ut_widt;h=11 yrap_cont eza t11 android: lay a u

40、 t_h e ight= MFrap_conteE!t android: 3hadowColor= FFFFFFF” aiodzoid; ha dowDx= android: sha dowDy- * android: shadowRadius-111!-、andr id: eext = /jf交号:工后”android: text Color=w#444 444rp andr oid: textSize= ,J20dip android:typeface=wsans /(4)新建两个实现渐变效果的xml文件,fadein.xlm内容如下:fadeout.xlm内容如下: ?xirA vers

41、ion=,l k encodings(5)再建一个 Activity , Activity 名称为 Login.java,布局的名称为 login.xml(6)在splash.xml的布局对应的 Activity中Oncreate中添加new Handle:().postDelayedtnew Thread() Overridepublic void run() Intent rEainMenu = new Indent (gerApplicationConrexi ), Login.class);Splash * this * srartActivit y (ir.amHenu;Splash

42、.this.finish();verrzLdePenciingTransLion (R*amm*R.*amin*;), 3000);实训十二设计登录功能实训要求:设计登录功能。实训内容:在实训十一的基础上,设计登录功能。实训步骤及相关代码:为Sqlite数据库创建助手类DatabaseHelper ,继承SqliteOpenHelper,参照实训八其中建表语句为:create table user (_id integer primary key autoincrement, codevarchar(20) not null,pwd varchar(20) not null,created v

43、archar(20) null )(2)创建自己的数据操作类,完成日记记录的添加、查询功能。public class DiaryDbAdapter private SQLiteDatabase db;private DatabaseHelper helper;private Context context;public DiaryDbAdapter(Context context) this.context = context;public void open() helper = new DatabaseHelper(context);db = helper.getWritableDatab

44、ase();public void close() helper.close();public void createDiary(String code, String pwd) Date d = new Date();SimpleDateFormat sdf = new SimpleDateFormat(yyyy年 MM 月 dd日 HH 时 mm );String da = sdf.format(d);db.execSQL(insertintouser(code,pwd,created)values(?,?,?)”, new Object code, pwd, da );public bo

45、olean checklogin(String code, String pwd) Cursor cursor ;String ls_sql;cursor = db.rawQuery(select * from user , null);if (cursor.getCount()=0)createDiary(1,1);ls_sql = select * from user where code= + + code + + and pwd= + + pwd + ; cursor = db.rawQuery(ls_sql, null);if (cursor.getCount() 0) return

46、 true;elsereturn false;(3)设置login.xml的布局。ie/l ogin_bg *android.: gravity ;7eiiter wandroid.: dt eEic-ation* n ver tricalw tool s : context 碑 a Logriz:n CBUttSRanCLraid.: id= -id/reg11steri,!and.ro id.: 1 ayout widEh= *Frap_ conten tandra id s 1 ayout hejL ght=曰工即_ cm tent1*azidra ids 1 ayout _jLargx

47、riRi ght= iPI Opx ”andraid.i backgr皿4&fctrawahle/login_xagister N /EditTextandzoid: id=M(?+id/edi tTemtJ,Fandroid: layoui;_widrti= ma tc2_parent” android: layout_he ight = *vrap_son ten t *andro j_d: nin c - J,A f,n tMtrt andro i a ;匕 & s kg round* Pdra vabl */; c?gitandroid:teKt=nrr /android:backgr

48、ound=drawable/login_register EditTextandroid:id =+id/editText1android:layout_width=match_parentandroid:layout_height=wrap_contentandroid:hint =输入用户名/EditTextandroid:id =+id/editText2android:layout_width=match_parentandroid:layout_height=wrap_contentandroid:hint =输入口令 / EditText (4)结登陆事件添加事件处理。btn_le

49、giia (Hutton.) s upe r. f i ndVi ewBy I d (R. Id - J5121 ton J):eE_eode = (EdicTexc) super .f rndViewById(R. LddErjtl ;et_pwd = (EditText) super. fmdViewByld (R-id. editText2);btn_ 1 ogin. setOnC 1 ickListenex (new OnCligkListenex 0 1 flQveride public void onClicklView argOJ / TODO AuEO-generated me

50、thod scmbboolean Ib_loginok;String 13_code ls_pwd;15_cede *getTexc().toString(;ls_pwd = ec_ccde getTexu (), toStrmg ();if (Ls_cade .equals (lf 11| ls_pwd-equals (,r Toast znaA:eText (getApplicationConl:ext () r ”你必须录入用户名和口令L 1) show();return; Di ar yDbAdap t e r db = new DiaryDbAdapter(Login.this;db

51、.open();lh_login_Dk - db. eheck-lisgin (13_CDd&, ls_pwd); db.close ();if (lb_logln_Qk = true)P .?EakText (gE tApplic:atiQnCoiitex,& (),登录成功11 + show O j elseToasc .ZEakeText (getAppli.caEiGBCDnrexc () f 。登录失败J) 1 Jt - show (;(5)如果点登陆报错,做如下操作A.在DiaryDbAdapter类中加如下方法:public void createtable() (open();

52、String sql01 = create table if not exists key autoincrement, code varchar(20) not null,pwd varchar(20) not null,created varchar(20) null );db .execSQL(sql01);close();user (_id integer primaryB.在 login.java 的 DiaryDbAdapter db = 后面加入以下代码: db.createtable();new DiaryDbAdapter(Login.this );实训十三 设计注册功能实训

53、要求:设计注册功能。实训内容:在实训十二的基础上,设计注册功能。register.xml实训步骤及相关代码:(1)建一个 Activity , Activity 名称为 Register.java,布局的名称为(2)修改register.xml的布局xmlns:androidandroid:layout_width android:layout_height android:backgroundandroid:gravity android:orientationtools:context =LinearLayoutandroid:layout_width=match_parentandroi

54、d:gravity =rightandroid:layout_height= wrap_content EditTextandroid:id =+id/editText1android:layout_width=match_parentandroid:layout_height=wrap_contentandroid:hint =输入用户名/EditTextandroid:id =+id/editText2android:layout_width=match_parentandroid:layout_height=wrap_contentandroid:hint =输入口令 / EditTex

55、t Buttonandroid:id =+id/button1android:layout_width=match_parentandroid:layout_height=wrap_contentandroid:text =注册/ ;et_code = (EdltText) super+ f IndViewByld (R id4 edit Text!) i e t_p wd (EditText) super, f IndVlewByld (R. Id -;fcLn_logln. aetOnCl 1cJcL 1 stene:r (new On.CHcJirLi31ener () Override

56、pishliG void onCliGk(View argO) / TODO AuiO-geneTaeci nue I; hod 3尊ub boolean lb loqin_ak.?String ls_cn(ir ls_pwd;Is_code = et_code - gerText ( _ to St ring ();ls_pwd = et_ccde bgetText () s toString ();if (1 ff_code + equala ( | I ls_pwd equals (Fro) Toast.ntuskeTeat(gecApp 11 caclaneoncext () , 口你

57、必须录入用户名和口令, 工) , sJaaw ():return; Di ax yDbAdap ter db = new Di a r yDbAd&pt e x(Registers thi);血 open(:db.createDxary(ls_coder ls_pwd); dUb .close ();)1);实训十四设计主界面实训要求:设计主界面。实训内容:设计主界面。实训步骤及相关代码:(1)建一个 Activity , Activity 名称为 Main.java,布局的名称为 main.xml(2)修改Login.java,当登陆成功后,切换到主界面,代码自已加。(2)修改 main.x

58、ml的布局LinearLayoutxmlns:android = HYPERLINK /apk/res/android /apk/res/androidandroid:layout_width android:layout_height android:background android:orientationandroid:layout_width android:layout_height=fill_parent= wrap_contentandroid:layout_weight=1.0android:gravity =centerandroid:orientation=horizon

59、tal LinearLayout=fill_parent= wrap_content= 1.0android:layout_width android:layout_height android:layout_weightandroid:gravity =centerandroid:orientation= horizontalTextViewandroid:layout_width android:layout_height= 80.0dip=wrap_contentandroid:gravity= centerhorizontal”android:text=收入查询/LinearLayou

60、tandroid:layout_width android:layout_height= wrap_content=wrap_contentandroid:layout_weight android:gravity android:orientation=1.0=center”= vertical TextViewandroid:layout_width=80.0dipandroid:layout_height=wrap_content android:orientation= vertical =fill_parent= wrap_content= 1.0LinearLayout andro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论