1.Dialog有四种,分别是AlertDialog,ProgressDialog,DatePickerDialog,TimePickerDialog

1.1AlertDialog

public class MainActivity extends Activity {private View view;private TextView tView;private EditText eText;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);LayoutInflater layoutInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);view = layoutInflater.inflate(R.layout.cell, null);tView = (TextView) view.findViewById(R.id.tv2);eText = (EditText) view.findViewById(R.id.et1);new AlertDialog.Builder(this).setTitle("友情提示").setView(view).setMessage("确定退出?").setNegativeButton("取消", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "确定",Toast.LENGTH_SHORT).show();}}).setNeutralButton("中立", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "取消",Toast.LENGTH_SHORT).show();}}).setPositiveButton("确定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, eText.getText().toString(), Toast.LENGTH_SHORT).show();// tView.setText(eText.getText().toString());}}).show();}}

1.2ProgressDialog

   ProgressDialog pgd = new ProgressDialog(this);pgd.setTitle("nihao");pgd.setMessage("hehe");//pgd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);pgd.setProgress(100);pgd.show();

1.3DatePickerDialog

DatePickerDialog datePickerDialog = new DatePickerDialog(this,new OnDateSetListener() {@Overridepublic void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {// TODO Auto-generated method stub}}, myear,mmouth,mday);datePickerDialog.show();

1.4 TimePickerDialog

于1.3相同的使用方式。

2.Menu有三种:分别是:optionsMenu,SubMenu,ContextMenu

2.1.OptionsMenu

public boolean onCreateOptionsMenu(Menu menu) {menu.add(menu.NONE,1,menu.NONE,"菜单1");menu.add(menu.NONE,2,menu.NONE,"菜单2");menu.add(menu.NONE,3,menu.NONE,"菜单3");menu.add(menu.NONE,4,menu.NONE,"菜单4");menu.add(menu.NONE,5,menu.NONE,"菜单5");return true;}
@Override
public boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {case 1:Toast.makeText(this,"1", Toast.LENGTH_SHORT).show();break;default:Toast.makeText(this,"其他", Toast.LENGTH_SHORT).show();break;}return super.onOptionsItemSelected(item);
}

2.2.SubMenu

@Overridepublic boolean onCreateOptionsMenu(Menu menu) {menu.add(menu.NONE,1,menu.NONE,"菜单1");menu.add(menu.NONE,2,menu.NONE,"菜单2");menu.add(menu.NONE,3,menu.NONE,"菜单3");menu.add(menu.NONE,4,menu.NONE,"菜单4");menu.add(menu.NONE,5,menu.NONE,"菜单5");SubMenu subMenu = menu.addSubMenu(menu.NONE,6,menu.NONE,"菜单6"); subMenu.setHeaderTitle("你好");subMenu.setIcon(R.drawable.ic_launcher);subMenu.addSubMenu(menu.NONE,7,menu.NONE,"菜单7");return true;}
@Override
public boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {case 1:Toast.makeText(this,"1", Toast.LENGTH_SHORT).show();break;default:Toast.makeText(this,"其他", Toast.LENGTH_SHORT).show();break;}return super.onOptionsItemSelected(item);
}

2.3ContextMenu

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);TextView textView = (TextView) findViewById(R.id.tv1);
registerForContextMenu(textView);}@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {menu.add(menu.NONE,1,menu.NONE,"菜单1");menu.add(menu.NONE,2,menu.NONE,"菜单2");menu.add(menu.NONE,3,menu.NONE,"菜单3");menu.add(menu.NONE,4,menu.NONE,"菜单4");menu.add(menu.NONE,5,menu.NONE,"菜单5");    super.onCreateContextMenu(menu, v, menuInfo);
}@Overridepublic boolean onContextItemSelected(MenuItem item) {// TODO Auto-generated method stubswitch (item.getItemId()) {case 1:Toast.makeText(this,"1",Toast.LENGTH_SHORT).show();break;default:break;}return super.onContextItemSelected(item);}
}

3.Notification

NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);//声明NotificationNotification notification = new Notification();//设置notification的参数notification.icon=R.drawable.ic_launcher;Intent intent = new Intent(this,MainActivity.class);PendingIntent pendingIntent = PendingIntent.getActivity(this,0, intent,0);notification.setLatestEventInfo(this,"haha" ,"contentText",pendingIntent);notificationManager.notify(10,notification);

4.TabHost

TabHost tabHost = getTabHost();LayoutInflater.from(this).inflate(R.layout.activity_main,tabHost.getTabContentView(), true);Intent intent = new Intent(MainActivity.this, SeocndActivity.class);tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("搜索").setContent(intent));tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("搜索").setContent(intent));tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("搜索").setContent(R.id.l1));

转载于:https://www.cnblogs.com/james1207/p/3283283.html

007.androidUI开发进阶(基础--案例) .相关推荐

  1. 007.androidUI开发进阶(对话框) .

    为什么80%的码农都做不了架构师?>>>    1.Dialog有四种,分别是AlertDialog,ProgressDialog,DatePickerDialog,TimePick ...

  2. [转载] Python Web开发—进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程

    参考链接: 在Python中创建代理Web服务器 2 Python Web开发-进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程 [课程简介] 这是一门Python We ...

  3. JSP WEB开发入门基础到高手进阶教程002

    JSP WEB开发入门基础到高手进阶教程 -------开发入门 JSP与微软的Active Server Pages 兼容,但它是使用类似HTML的卷标以及Java程序代码段而不是VBScript. ...

  4. java me基础教程 pdf_Java ME手机应用开发技术与案例详解 PDF

    资源名称:Java ME手机应用开发技术与案例详解 PDF Java ME手机应用开发技术与案例详解基于Java ME,系统描述了Java ME手机应用开发的各个方面.全书按照Java ME程序的开发 ...

  5. 音视频开发进阶指南--音视频概念基础

    音视频开发进阶指南--音视频概念基础 音频概念基础: 采样.量化和编码: 首先要对模拟信号进行采样,所谓采样就是在时间轴上对信号进行数字化.根据奈奎斯特定理(也称为采样定理),按比声音最高频率高2倍以 ...

  6. 《音视频开发进阶指南》读书笔记(一) —— 音视频基础概念

    前言 最近要学音视频,在图书馆借到这本<音视频开发进阶指南>,读了一段时间觉得挺好就在某宝买了. 以后一段时间应该都会沉浸在研究音视频中,开个专题记录哈每一章的读书笔记吧(以iOS开发的角 ...

  7. SSM框架开发-基础案例

    SSM框架整合基础案例详解 1.数据库环境 创建一个存放书籍数据的数据库表 CREATE DATABASE `ssmbuild`;USE `ssmbuild`;DROP TABLE IF EXISTS ...

  8. Mendix敏捷开发零基础学习《二》-进阶(Microflow微流、表单验证、运算符、条件判断、数据嵌套、触发器、Debug问题跟踪、版本管理)

    目录结构 Mendix敏捷开发零基础学习<二> 一.Microflow微流 1.引言 2.常见的功能 3.微流可以做那些事情? 3.1 举例1(用微流打开新增页面) 3.2 举例2(用微流 ...

  9. Android伸手党系列之六:Android开发进阶

    这是android伸手党知识收集系列的第六篇,来整理android开发进阶相关知识:Window,View,事件分发,NFC,蓝牙等. Android View 简介 View的简介 那些你应该知道却 ...

最新文章

  1. linux vi 清除所有,Vi命令:如何删除全部内容
  2. asp.net 1.1 web.config 讲解
  3. 【Android 安全】DEX 加密 ( 代理 Application 开发 | multiple-dex-core 依赖库开发 | 配置元数据 | 获取 apk 文件并准备相关目录 )
  4. python 重复输出字符串
  5. 使用BIOS进行键盘输入和磁盘读写---汇编学习笔记
  6. LINUX下如何重启动网络服务
  7. 经典的卷积神经网络简介
  8. java 调用scala 类_如何使用java类加载器调用带参数的scala函数?
  9. mysql5.6免安装配置(菜鸟版)
  10. Log4j2进阶使用(Pattern Layout详细设置)
  11. .Net转Java自学之路—Spring框架篇二(IOC注解、AOP)
  12. 学习设计模式系列之一:单例模式
  13. python 参数一样结果不一样_使用不同的参数多次调用同一个函数python
  14. kewail node 短信_node.js短信接口_node.js发短信_node.js短信验证码_验证码短信代码示例_互亿无线...
  15. java adsl 拨号_[zt]利用脚本实现ADSL自动拨号上网
  16. (14)树莓派B+使用L298N驱动控制四驱车并实现一个简单的web控制端
  17. 关于使用win10易升,升级后电脑变卡解决方法
  18. python中写sql语句添加for循环和变量。(一种SQL引入循环的思想实现)
  19. 图像处理-Opencv入门(3)-图像的基本运算(1)-代数运算
  20. 《缠中说禅108课》83:笔-线段与线段-最小中枢结构的不同心理意义 1

热门文章

  1. 狼人杀服务器维护时间,狼人杀官 方将于11月30日进行停机维护
  2. linux双核对线程,Linux检查双核(及多核)CPU信息
  3. x86虚拟机NXVM_Centos6.5 x86_64系统安装kvm虚拟机—基础篇
  4. tomcat c3p0 mysql_C3P0数据库连接池与tomcat一起使用时报错
  5. uniapp开发微信小程序时,报错:Now you can provide attr `wx:key` for a `wx:for` to improve performance
  6. cmd导出服务器文件大小,通过powershell或者cmd导出单个OU计算机信息
  7. 设计模式(四)--代理模式
  8. 查看torch依赖的cuda版本_torch多GPU情况下模型建立遇到的问题
  9. rabbitmq 限制速度_关于消息队列速率的解决方案
  10. java根据pdf模板生成pdf_Java 复制、压缩PDF文档