14017大话企业级android应用开发实战重要源代码常用ui控件_第1页
14017大话企业级android应用开发实战重要源代码常用ui控件_第2页
14017大话企业级android应用开发实战重要源代码常用ui控件_第3页
14017大话企业级android应用开发实战重要源代码常用ui控件_第4页
14017大话企业级android应用开发实战重要源代码常用ui控件_第5页
免费预览已结束,剩余24页可下载查看

付费下载

下载本文档

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

文档简介

1、 用户界面(;YKXKXLGIK)线性布局(2OTKGX2G_UZ)示例 main.xml 布局文件如下:其对应 strings.xml 内容如下:o World, UIActivity!用户界面请输入用户名确定取消示例 main.xml 布局文件如下,其对应的 strings.xml 内容不变。8KRGZOK2G_UZ(相对布局)相对布局中的视图组件是按相互之间的相对位置来确定的,并不是线性布局中的必须按行或按列单个显示。示例布局文件如下:main.xmlEditTextandroid:layout_width=fill_parent android:layout_height=wrap_c

2、ontentmain.xml线性布局与相对布局嵌套使用布局之间可以相互嵌套使用,以完成更为复杂的布局效果。举例来说,下面是一个线性布局,当中包含了相对布局的界面。表格布局(:GHRK2G_UZ)示例布局文件内容如下:android:text=string/ok_button/对应的 strings.xml 文件内容如下:帧布局(,XGSK2G_UZ)1main.xml 文件其内容如下:FrameLayoutxmlns:android= HYPERLINK http:/s/ http:/s/apk/res/androidandroid:layout_width=wrap_content andr

3、oid:layout_height=wrap_content男女2512345672476543212编写 BirdActivity.java 类代码如下:public class BirdActivity extendivity FrameLayout frame = null; privateflag = true;/由该类两个方法间的循环调用,实现界面不断更新class MyHandler extends Handler i = 0;public void handleMessage(Message msg) i+;/总共三幅图,依次显示 show(i % 3);/再次调用 sleep

4、方法sleep(10);public void sleep(long delayMillis) /判断是否继续飞翔if(flag) /实质上是调用了一次 handleMessage sendMessageDelayed(obtaessage(0), delayMillis);/该方法是被调用以更新帧布局的前景void show(j) /获取三张Drawable a = getResour ().getDrawable(R.drawable.a); Drawab = getResour ().getDrawable(R.drawab ); Drawable c = getResour ().ge

5、tDrawable(R.drawable.c);/不同的情况,设置不同的前景switch (j) case 0:frame.setForeground(a);break; case 1:frame.setForeground(b);break; case 2:frame.setForeground(c);break;android:layout_gravity=center android:id=+id/frame 菜单()编写Activity.java:package com.sharpandroid.;import android.app.Activity; import android.

6、os.Bundle; import android.view.;import android.view.Inflater; import android.view.Item;public classActivity extendivity private sic finalOK = 1; private sic finalCANCLE = 2; private sic finalABOUT = 3;Overridepublic void onCreate(Bundle savedInstane) super.onCreate(savedInstane); setContentView(R.la

7、yout.main);/* Called when the activity iscreated. */ Overridepublic void onCreate(Bundle savedInstane) super.onCreate(savedInstane); setContentView(R.layout.main);frame = (FrameLayout) findViewById(R.id.frame);/创建一个 Handler 子类对象,要调用其方法final MyHandler myHandler = new MyHandler(); myHandler.sleep(10);

8、/为fram 设置单击事件,当其被单击时,在飞翔与暂停飞翔间切换frame.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View v) flag = !flag; myHandler.sleep(10););Override/当单击 public键时会打开菜单,当菜单第一次被打开始,框架回调该方法onCreateOptions() /为菜单添加一个 id 为 1,标题为“开始”的元素.add(0, OK, 0, 开始);.add(0, CANCLE, 0, 取消);/为菜单添加一个子菜单,i

9、d 为 3,标题为“关于”,并返回该子菜单对象为 filefile =/得到一个Inflater.addSub(0, ABOUT, 0, 关于);Inflater 对象inflater = getInflater();/调用 inflater 的 inflate 方法,获取资源文件中定义的元素/并将这些元素添加进指定的filebyxml, file);inflater.inflate(R. return true;.subOverride/当一个菜单项被选中时,框架回调该方法,并将被单击的 Item 传入publiconOptionsItemSelected(Itemitem)/根据被选中的

10、Item 进行不同的处理 switch (item.getItemId() case OK:this.setTitle(开始);return true; case CANCLE:this.setTitle(取消);return true; case ABOUT:this.setTitle(关于);return true; case R.id.help:this.setTitle(帮助信息);return true; case R.id.our:this.setTitle( return true;们);return false; 常用 ;/ 控件(=OJMKZY)单选框(8GJOU(ZZUT)

11、在布局文件中的应用示例如下:多选框()NKIQ(U)编写 main.xml:CheckBoxandroid:layout_width=wrap_content android:layout_height=wrap_content列表显示(2OYZOK)编写 string.xml:编写 main.xml:编写ListViewActivity.java:o World, ListViewActivity!ListView 示例android:layout_toRightOf=id/checkboxpang android:text=string/football android:id=+id/ch

12、eckboxfootball/编写ListViewActivity.java,内容如下:package com.sharpandroid.listview; import android.app.ListActivity; import android.os.Bundle;import android.view.View;import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast;public class ListViewActivity extends List

13、Activity private String name = , , , ;Overridepackage com.sharpandroid.listview; import android.app.Activity; import android.os.Bundle;import android.view.View;import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast;public cl

14、ass ListViewActivity extendivity privaistView listView;private String name = ,; Overridepublic void onCreate(Bundle savedInstane) super.onCreate(savedInstane); setContentView(R.layout.main);listView = (ListView) findViewById(R.id.listview);/创建一个 ArrayAdapter ArrayAdapter adapter =new ArrayAdapter(th

15、is, android.R.layout.simple_list_item_1,name);listView.setAdapter(adapter);/listView一个元素单击事件器listView.setOnItemClickListener(new AdapterView.OnItemClickListener() Override/当某个元素被单击时调用该方法public void onItemClick(AdapterView arg0, View arg1, arg2,long arg3) Toast.makeText(ListViewActivity.this,namearg2

16、 , Toast.LENGTH_LONG).show(););下拉列表框(9VOTTKX)编写arrays.xml,定义 Spinner 中需要显示的数据:编写 main.xml:redorangeyellowgreenbluevioletpublic void onCreate(Bundle savedInstane) super.onCreate(savedInstane);/ 创建一个 ArrayAdapterArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, name);s

17、etListAdapter(adapter);protected void onListItemClick(ListView l, View v,ition, long id) Toast.makeText(ListViewActivity.this, nameition,Toast.LENGTH_LONG).show();进度条(6XUMXKYY(GX)编写 strings.xml 文件:编写 main.xml 文件:编写 ProgressBarActivity.java 文件:package gress;import android.app.Activity; import android

18、.os.Bundle; import android.os.Handler;import android.widget.ProgressBar;public class ProgressBarActivity extendivity private ProgressBar mProgress;o World, ProgressBarActivity!进度条示例环形进度条水平进度条拖动条(9KKQ(GX)编写 strings.xml:编写 main.xml:TextViewo World, SeekBarActivity!拖动条示例进度:privatemProgressSus = 0;/创建一个

19、 Handler 对象private Handler mHandler = new Handler();protected void onCreate(Bundle icicle) super.onCreate(icicle); setContentView(R.layout.main);mProgress = (ProgressBar) findViewById(R.gress_bar);/设定进度条的最大值,其将为该进度条显示的基数 mProgress.setMax(10000);/新开启一个线程new Thread(new Runnable() public void run() /循环

20、 10000 次,不停地更新 mProgressSus 的值while (mProgressSus +/停止刷新flag = false;Override/当进度条游标被改变或者进度更改时调用该方法public void onProgressChanged(SeekBar seekBar,fromUser) /更改 textView 的内容textView.setText(进度为: + progress + %);progress,);/创建时就开始自动更新该拖动条 refresh();/该方法自动刷新拖动条的进度值 private void refresh()new Thread(new R

21、unnable() public void run() /当进度不到 100,就更新 mProgressSus 的值while (flag & seekBar.getProgress() 100) try /暂停 1 秒Thread.sleep(1000); catch (erruptedException e) / TODO Auto-generated catch blocke.prStackTrace();/将一个 Runnable 对象添加到消息队列当中/并且当执行到该对象时执行 run()方法mHandlost(new Runnable() public void run() /重新

22、设置进度条当前的值,加 1 seekBar.setProgress(seekBar.getProgress() + 1););).start(); 常用的几种通知状态栏通知2编写 strings.xml3编写 main.xml4编写 NotificationActivity.javapackage com.sharpandroid.notification; import android.app.Activity;import android.app.AlertDialog;import android.app.Notification;import android.app.Notificat

23、ionManager; import android.app.Pendingent; import android.content.Context;import android.content.Dialogerface; import android.content.ent;import .Uri; import android.os.Bundle; import android.view.View; import android.widget.Button;public claotificationActivity extendivity /* Called when the activit

24、y iscreated. */ Overridepublic void onCreate(Bundle savedInstane) o World, NotificationActivity!状态栏通知发送通知警告框编写 strings.xml:编写 main.xml:Buttonandroid:layout_width=wrap_contentandroid:layout_height=wrap_content android:text=string/buttono World, AlertDialogActivity!警告框弹出框super.onCreate(savedInstane);

25、setContentView(R.layout.main);Button button = (Button)findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View v) /获取通知管理器NotificationManager mNotificationManager = (Notification Manager) getSystemService(Context.NOTIFICATION_SERVICE);icon = an

26、droid.R.drawable.sym_action_;long when = System.currentTimeMillis();/新建一个通知,指定其图标和标题/第一个参数为图标,第二个参数为标题,第三个为通知时间 Notification notification = new Notification(icon, null,when);notification.defaults = Notification.DEFAULT_SOUND;/发出默认声音/当单击消息时就会向系统发送 openent 意图Pendingent contentent = Pendingent.getActiv

27、ity (NotificationActivity.this, 0, null, 0);notification.setLatestEventInfo(NotificationActivity. this, 开会通知,今天下午 4 点到会议室开会!, contentent);mNotificationManager.notify(0, notification);/发送通知);编写AlertDialogActivity.java:完成之后,根据的需要修改一部分内容之后的 AlertDialogActivity.java 类的代码如下。package com.sharpandroid.activ

28、ity;import android.app.Activity;import android.app.AlertDialog;import android.content.Dialogerface;import android.content.ent;import .Uri; import android.os.Bundle; import android.view.View; import android.widget.Button;public class AlertDialogActivity extendivity /* Called when the activity iscreat

29、ed. */ Overridepublic void onCreate(Bundle savedInstane) super.onCreate(savedInstane); setContentView(R.layout.main);Button button = (Button)findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View v) AlertDialog.Builder builder =new AlertDialo

30、g.Builder(AlertDialogActivity.this);builder.setTitle(sharpandroid).setMessage(你确定要Android吗?).setCancelable(false).setitiveButton(确定,AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage(Are you sure you want to exit?).setCancelable(false).setitiveButton(Yes, new Dialogerfac

31、e.OnClickListener() public void onClick(Dialogerface dialog,id) MyActivity.this.finish();).setNegativeButton(No, new Dialogerface.OnClickListener() public void onClick(Dialogerface dialog,id) dialog.cancel(););AlertDialog alert = builder.create();android:id=+id/button/将创建 AlertDialog 的代码优化为如下所示。 ;/

32、综合应用用户编写 strings.xml:new AlertDialog.Builder(AlertDialogActivity.this).setTitle(sharpandroid).setMessage(你确定要Android吗?).setCancelable(false).setitiveButton(确定, new Dialogerface.OnClickListener() public void onClick(Dialogerface dialog,id) /创建一个“http”的意图/该意图会告知系统打开浏览器,并该entent = newent(ent.ACTION_VIE

33、W,Uri.parse(http); startActivity(ent);).setNegativeButton(取消, new Dialogerface.OnClickListener() public void onClick(Dialogerface dialog,id) dialog.cancel(); /删除框).show();/显示框new Dialogerface.OnClickListener() public void onClick(Dialogerface dialog,id) /创建一个“http”的意图/该意图会告知系统打开浏览器,并该entent =newent(

34、ent.ACTION_VIEW,Uri.parse(http);startActivity(ent);).setNegativeButton(取消, new Dialogerface.OnClickListener() public void onClick(Dialogerface dialog,id) dialog.cancel(); /删除框);AlertDialog alert = builder.create();/创建框alert.show();/显示框);新建了一个资源文件 parameters.xml,存放一些属性信息,如字体大小、TextView 以及EditText 的宽度

35、。代码内容如下:编写 main.xml:RelativeLayout22px90px160pxo World, LoginActivity!用户界面用户名:喜好:城市:乒乓球篮球足球网球android:layout_width=fill_parent android:layout_height=wrap_contentCheckBoxandroid:layout_width=wrap_content android:layout_height=wrap_content android:layout_toRightOf=id/favorite android:text=string/pangan

36、droid:id=+id/checkboxandroid:layout_width=wrap_content android:layout_height=wrap_content android:layout_toRightOf=id/checkbox android:text=string/football android:id=+id/checkboxfootball/flag = true;privateprivaist favorities;public void onCreate(Bundle savedInstane) e);super.onCreate(savedInstan s

37、etContentView(R.layout.main);/定义一个 ArrayList,用来存放所有的 CheckBox favorities = new ArrayList();/得到相应的显示控件的对象name = (EditText) findViewById(R.Value); age = (EditText) findViewById(R.id.ageValue); pass = (EditText) findViewById(R.id.passValue);regButton = (Button) findViewById(R.id.registerButton); cityIt

38、ems = (Spinner) findViewById(R.id.cityItems);sexRadioGroup = (RadioGroup) findViewById(R.id.sex);basketball = (CheckBox) findViewById(R.id.checkboxbasketball);/将basketball 对象添加到 favorities 中favorities.add(basketball);football = (CheckBox) findViewById(R.id.checkboxfootball); favorities.add(football)

39、;pang = (CheckBox) findViewById(R.id.checkboxpang);favorities.add(pang);tennis = (CheckBox) findViewById(R.id.checkboxtennis); favorities.add(tennis);/创建一个数组型适配器 ArrayAdapterter = new ArrayAdapter(LoginActivity.this, android.R.layout.simple_spinner_item, cities);ter.setDropDownViewResource(android.R

40、.layout.simple_spinner_ dropdown_item);cityItems.setAdapter(ter);/为regButton一个单击事件器regButton.setOnClickListener(new View.OnClickListener() /当按钮被单击时调用该方法 Overridepublic void onClick(View v) flag = addUser();if (flag)/创建一个 AlertDialog框显示登录的信息。new AlertDialog.Builder(LoginActivity.this).setTitle( 请确认信息

41、).setMessage(你的信息如下: + n + :+name.getText().toString() + n + age.getText().toString() + n + :getSex() + n + : + getFavorite() n + 城市: + getCity() + n).setCancelable(false).setitiveButton(确定,new Dialogpublicerface.OnClickListener() void onClick(Dialogerface dialog,id) ProgressDialog.show( LoginActivi

42、ty.this,用户信息中, 请等待).setCancelable(true);).setNegativeButton(修改, erface.OnClickListener() new Dialogpublic void onClick( Dialogerface dialog,id) dialog.cancel(); / 删除框).show();/ 显示框);/获取 Spinner 中的值private String getCity() return citiescityItems.getSelectedItem/获取 CheckBox 的值private String getFavorit

43、e() String favString = ;for (CheckBox cb : favorities) if (cb.isChecked() ition();favString += cb.getText().toString(); favString += ,;if (favStringfavString else favString!= ) = favString.substring(0, favString.length()- 1);= 你没有选择!;return favString;/获取一组 RadioGroup 中被选中的 RadioButton 的值private String getSe

温馨提示

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

评论

0/150

提交评论