为了账号安全,请及时绑定邮箱和手机立即绑定

Android攻城狮的第二门课(第2季)

邦蜀黍 移动开发工程师
难度入门
时长 3小时50分
学习人数
综合评分9.70
133人评价 查看评价
9.9 内容实用
9.8 简洁易懂
9.4 逻辑清晰
  • 设置完全自定义的Toast
    查看全部
    0 采集 收起 来源:自定义Toast

    2017-10-03

  • 带有图片的Toast
    查看全部
  • 常用方法
    查看全部
    0 采集 收起 来源:认识Dialog

    2017-09-10

  • 通过xml布局实现子菜单 在menu文件夹下创建菜单布局main.xml: <item android:showAsAction="never" android:title="文件"> <menu> <item android:id="@+id/new_file" android:showAsAction="never" android:title="新建"/> <item android:id="@+id/open_file" android:showAsAction="never" android:title="打开"/> <item android:id="@+id/save_file" android:showAsAction="never" android:title="保存"/> </menu> </item> <item android:showAsAction="never" android:title="编辑"> <menu> <item android:id="@+id/copy_edit" android:showAsAction="never" android:title="复制"/> <item android:id="@+id/paste_edit" android:showAsAction="never" android:title="粘贴"/> <item 依此类推.../> </menu> </item> 在 MainActivity中重写onCreateOptionsMenu(): MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main,menu); 最后重写点击之后的响应事件onOptionsItemSelected()
    查看全部
  • 更改activity的样式达到显示不同SubMenu菜单
    查看全部
  • 动态添加SubMenu子菜单: 动态添加SubMenu子菜单 1.添加内容 onCreateOptionsMenu(Menu menu){ SubMenu file=menu.addSubMenu("文件"); SubMenu edit=menu.addSubMenu("编辑"); file.add(); file.setxxx() edit.add()' } 2.监听子菜单点击事件 onOptionItemSelected(MenuItem item){ if(item.getGroupId()==1){ switch(item.getItemId){} }else if(item.getGroupId()==1){} }
    查看全部
  • 子菜单的实现 重写onCreateOptionsMenu(): SubMenu file = menu.addSubMenu("文件"); SubMenu edit = menu.addSubMenu("编辑"); // 方法add(int groupId,int itemId,int order,charSequence title) // 使用 GroupId 为菜单项分组,“1”属于文件组,“2”属于编辑组 file.add(1,1,1,"新建"); file.add(1,2,1,"打开"); file.add(1,3,1,"保存"); file.setHeaderTitle("文件操作"); file.setHeaderIcon(R.mipmap.ic_launcher); edit.add(2,1,1,"复制"); edit.add(2,2,1,"粘贴"); edit.add(2,3,1,"剪切"); edit.setHeaderTitle("编辑操作"); edit.setHeaderIcon(R.mipmap.ic_launcher); return super.onCreateOptionsMenu(menu); 重写onOptionsItemSelected() if (item.getGroupId()==1){ // 先判断 GroupId switch (item.getItemId()){ case 1: Toast.makeText(this, "点击新建", Toast.LENGTH_SHORT).show(); break; case 2: Toast.makeText(this, "点击打开", Toast.LENGTH_SHORT).show(); break; case 3: Toast.makeText(this, "点击保存", Toast.LENGTH_SHORT).show(); break; } }else if(item.getGroupId()==2){ switch (item.getItemId()){ case 1:Toast
    查看全部
  • 设置ListView的显示内容,需要设置适配器 showListView(){ ListView listView=(ListView)findViewById(R.id.listView); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,getData()); listView.setAdapter(adapter); //给listView设置上下文菜单,首先需要注册菜单,然后重写onCreateContextMenu() this.registerForContextMenu(listView); } onCreateContextMenu(){ //设置Menu显示的内容 menu.setHeaderTitle("文件操作"); menu.setHeaderIcon(R.mipmap.ic_launcher); //方法一,代码添加 menu.add(1,1,1,"复制"); menu.add(1,2,1,"粘贴"); menu.add(1,3,1,"剪切"); menu.add(1,4,1,"重命名"); //方法二,通过xml添加 MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.context_menu,menu); } 点击的响应事件: onContextItemSelected() switch (item.getItemId()){ case 1: Toast.makeText(this, "点击复制", Toast.LENGTH_SHORT).show(); break; case 2: Toast.makeText(this, "点击粘贴", Toast.LENGTH_SHORT).show(); break; case 3: Toast.makeText(this, "点击剪切", Toast.LENGTH_SHORT).show(); break; case 4: Toast.makeText(this, "点击重命名", Toast.LENGTH_SHORT).show(); break; }
    查看全部
  • ContextMenu用法总结。 1.为listView注册上下文菜单。使用Acvitity提供的registerForContextMenu方法。 2.重写Activity的onCreateContextMenu方法。 3.使用动态或者xml方式增添菜单项 4.重写Actvitity的onContextItemSelected方法,用于处理点击事件。 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.add(1, 101, 1, "菜单一");//动态增添,4个参数,分别是"组id","itemId"(用来识别点的是哪一个),"排序",“文字” menu.add(1, 102, 1, "菜单二"); } @Override public boolean onContextItemSelected(MenuItem item) { AdapterView.AdapterContextMenuInfo acm = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); int item_id = (int) acm.id; //可以通过这个方法。获取ListView的ItemId switch (item.getItemId()) { case 101: Toast.makeText(this, item_id +"菜单一", Toast.LENGTH_SHORT).show(); break; case 102: Toast.makeText(this, item_id +"菜单二", Toast.LENGTH_SHORT).show(); break; } return super.onContextItemSelected(item); }
    查看全部
  • ContextMenu与OptionMenu的区别 1. OptionMenu对应的是activity,一个activity只能拥有一个选项菜单; 2. ContextMenu对应的是View,每一个View都可以设置上下文菜单; 一般情况下ContextMenu常用于ListView或者GridView 创建ContextMenu方法 1.添加上下文菜单内容onCreateContextMenu() 可以通过代码动态添加 可以加载xml问价中的菜单项 2.设置菜单点击后的响应事件 ContextMenu创建方法 首先给View 注册上下文菜单registerForContextMenu() 添加上下文菜单内容 onCreateContextMenu() -- 可以通过代码动态添加; -- 可以加载xml文件中的菜单项。 设置菜单点击后的响应事件 onContextItemSelected()
    查看全部
    0 采集 收起 来源:认识ContextMenu

    2017-09-08

  • 第一步:在Activity中重写onCreateOptionsMenu()来创建选项菜单,在中包含了getMenuInflater().inflate(R.menu.main,menu),R.menu.main是res的menu文件夹下的xml文件是放菜单的文件夹;设置菜单项可以通过两种方法: 一:代码动态设置menu.add(groupId,itemId,order,title), groupId--1:分组的id; itemId--100:菜单项的id; order--1:菜单项排序用的; title--"菜单1":菜单名称; 类似于ArrayList,可以调用add方法来加载如 menu.add(1,100,1,"菜单一"); menu.add(1,101,1,"菜单二"); menu.add(1,102,1,"菜单三"); menu.add()方法返回的是 MenuItem 对象,可以通过该对象设置更多样式。 add方法返回的是item,可以赋值给item,再调用item的setTitle与setIcon(在API>=11时,是不显示图标的)来设置item; 二:在R.menu.main的xml文件,添加item控件来添加设置菜单项; 第二步:重写onOptionsItemSelected(MenuItem item)方法设置菜单项的点击事件,再switch(item.getItemId())来设置各个case,方法1的id是add中itemId,方法二的id是xml文件中定义的id的点击事件; 第三步:创建Activity,关联xml文件,并在manifest中加上activity。在case中,新建intent,调用item的setIntent(intent)实现界面跳转; 新建activity时需要再mainfast中配置
    查看全部
  • 重写onOptionsItemSelected() public boolean onOptionsItemSelected(MenuItem item){ switch(item.getItemId()){ case R.id.action_menu_item1: Toast.makeText(MainActivity.this, "点击了菜单一", Toast.LENGTH_SHORT); break; case R.id.action_menu_item2: Toast.makeText(MainActivity.this, "点击了菜单二", Toast.LENGTH_SHORT); break; } }
    查看全部
  • 1. 创建选项菜单 重写onCreateOptionsMenu()方法 2. 在onCreateOptionsMenu()方法中构建菜单的菜单项 (1)通过代码动态添加menuadd() (2)通过xml设置MenuInflater.inflate() getMenuInflater().inflate(R.menu.main, menu); 3. 设置菜单项点击事件:重写onOptionsItemSelected() switch(item.getItemId()) {} 4. 动态菜单项 (1)创建菜单项 menu.add(groupId, itemId, order, title); groupId是组id,itemId是菜单项id,order是菜单项排序,title为菜单项描述 menu.add(1, 100, 1, "menu 1"); (2)设置监听 通过getItemId()来获取是哪个菜单项被点击了。 switch(item.getItemId()) { case 100: …… } 5. 另外一种方法 因为menu.add()返回的是MenuItem对象,所以可以用 MenuItem item = menu.add(1, 100, 1, "menu 1"); item.setTitle("菜单");
    查看全部
    0 采集 收起 来源:创建菜单

    2018-03-22

  • 使用 NotificationManager 显示或取消通知 1. 设置全局变量 NotificationManager manager; // 通知管理类 int notification_ID; // 通知的ID号 2. 在 onCreate()方法中初始化 manager: manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 注意:NotificationManager的初始化:因为NotificationManager是系统服务,所以需要通过getSystemService()来获取实例。 3. 调用方法(分别在不同的点击事件中调用) manager.notify(notification_ID,notification); //显示通知,其中notification是我们上节课构造好的通知。 manager.cancel(notification_ID); // 取消通知
    查看全部
    0 采集 收起 来源:发送取消通知

    2017-09-08

  • 通知栏的实现 需要在配置文件中添加权限: <uses-permission android:name="android.permission.FLASHLIGHT" /> <uses-permission android:name="android.permission.VIBRATE" /> ------------ Intent intent = new Intent(this,ThirdActivity.class); Notification.Builder builder = new Notification.Builder(this); builder.setSmallIcon(R.mipmap.ic_launcher); // 设置图标 builder.setTicker("Hello!"); // 设置手机状态栏的一行文字提示 builder.setWhen(System.currentTimeMillis()); // 设置时间 builder.setContentTitle("通知栏通知"); builder.setContentText("我来自Notification的小练习"); // 点击通知之后想要跳转到某个页面,需要 PendingIntent 和 Intent(意图)来实现 PendingIntent pendingIntent = PendingIntent.getActivity(this,0,intent,0); // 请求码和flag都设置为0 builder.setContentIntent(pendingIntent); // 点击后的意图 builder.setDefaults(Notification.DEFAULT_ALL); //设置所有的提示效果,包括声音、振动、指示灯 Notification notification = builder.build(); // 4.1以上版本(包括4.1) // Notification notification1 = builder.getNotification(); // 4.1以下版本
    查看全部
    0 采集 收起 来源:设置通知参数

    2018-03-22

举报

0/150
提交
取消
课程须知
本课程是进阶课程的第2季,将讲解Android应用必备的菜单、对话框和动画等的使用,对于不熟悉Android开发的童鞋来说会有一定的难度,所以,建议在学习本门课程之前,首先必须掌握Java基础语法和面向对象编程,其次还要熟悉Android开发环境,了解控件的使用就更好了
老师告诉你能学到什么?
1、Android调试程序 2、Android提示对话框 3、Android常用菜单 4、Android常用动画效果

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!