- 浏览: 90791 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
wangyudong:
家里是拨号上网,不行的,找到了一个Holer工具,只需要配置一 ...
【如何通过广域网访问局域网的服务器?】 -
叮咚可乐名:
大数据就是这么任性第一季数据结构和算法http://pan.b ...
数据结构与算法-简介 -
戢_时光:
...
【Java集合之二】Set集合 -
lzg406:
HTTP默认方式下,使用持久连接。 这个值得推敲
【应用层】之一:HTTP协议与FTP协议 -
mute_:
特别腻害呢
正则表达式1:概念
本文围绕以下三个部分展开:
一、Menu 菜单
二、一个案例
1、主界面
2、Options menu 选项菜单
3、Context menu 上下文菜单
4、Contextual Action Bar(CAB) 上下文操作栏
5、Popup menu 弹出菜单
附 代码补充
一、Menu 菜单
关于菜单:
3.0 开始 android 取消了实体的菜单按钮,引入了操作栏(Action Bar)
5.0 将操作栏更名为应用栏(App Bar),有以下四种形式的菜单:
(1)选项菜单(Options menu)
(2)上下文菜单(Context menu)
(3)上下文操作栏(Contextual Action Bar)
(4)弹出菜单(Popup menu)
二、一个案例
1、主界面
(1)activity_main.xml
(2)MainActivity
2、Options menu 选项菜单
右上角三个菜单依次是:排序、新增、更多菜单。当点击右上角的三个点的菜单后,会出现下面3项:
当点击“设置”时,界面弹出“设置操作...”:
当点击排序菜单时,界面出现排序菜单:
当点击“隐藏排序”时,排序菜单会隐藏不见:
当再点击“显示排序”时,排序菜单会出现:
(1)menu_options.xml
(2)OptionsActivity
3、Context menu 上下文菜单
(1)activity_context.xml :
(2)menu_context.xml :
(3)ContextActivity :
4、Contextual Action Bar(CAB) 上下文操作栏
(1)activity_cab.xml
(2)menu_cab.xml
(3)
5、Popup menu 弹出菜单
(1)activity_popup.xml :
(2)menu_popup.xml :
(3)PopupActivity :
附 代码补充
1. style.xml(v21) :
2. strings.xml :
3. AndroidManifest.xml :
一、Menu 菜单
二、一个案例
1、主界面
2、Options menu 选项菜单
3、Context menu 上下文菜单
4、Contextual Action Bar(CAB) 上下文操作栏
5、Popup menu 弹出菜单
附 代码补充
一、Menu 菜单
关于菜单:
3.0 开始 android 取消了实体的菜单按钮,引入了操作栏(Action Bar)
5.0 将操作栏更名为应用栏(App Bar),有以下四种形式的菜单:
(1)选项菜单(Options menu)
(2)上下文菜单(Context menu)
(3)上下文操作栏(Contextual Action Bar)
(4)弹出菜单(Popup menu)
二、一个案例
1、主界面
(1)activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent"/> </RelativeLayout>
(2)MainActivity
package com.android.menu; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; public class MainActivity extends Activity { private ListView listView; private String[] data = {"选项菜单(Options menu)", "上下文菜单(Context menu)", "Contextual Action Bar(CAB)", "弹出菜单(Popup menu)"}; private ArrayAdapter<String> adapter; private Class[] items = {OptionsActivity.class, ContextActivity.class, CabActivity.class, PopupActivity.class}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 设置导航图标 getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeAsUpIndicator(R.drawable.ic_menu_white_24dp); listView = (ListView) findViewById(R.id.listView); adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.tvItem, data); listView.setAdapter(adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, longid) { startActivity(new Intent(getApplicationContext(), items[position])); } }); } }
2、Options menu 选项菜单
右上角三个菜单依次是:排序、新增、更多菜单。当点击右上角的三个点的菜单后,会出现下面3项:
当点击“设置”时,界面弹出“设置操作...”:
当点击排序菜单时,界面出现排序菜单:
当点击“隐藏排序”时,排序菜单会隐藏不见:
当再点击“显示排序”时,排序菜单会出现:
(1)menu_options.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context="com.android.menu.OptionsActivity"> <!-- item 节点:菜单一个选项 id:菜单 id (唯一) orderInCategory:id索引值 (从小到大加载) showAsAction:在 应用栏 显示方式 title:菜单文本 --> <item android:id="@+id/action_settings" android:orderInCategory="100" android:showAsAction="never" android:title="@string/action_settings"/> <item android:id="@+id/action_exit" android:orderInCategory="101" android:showAsAction="never" android:title="@string/action_exit"/> <!-- id: 标识符 --> <!-- icon: 图标 --> <!-- title: (无图标时)显示的文字 --> <!-- showAsAction: 是否显示在操作栏 --> <!-- visible: 是否可见,默认 true --> <!-- enabled: 是否可用,默认 true--> <!-- orderInCategory: 序号,数值越小越靠前 --> <item android:id="@+id/action_new" android:enabled="true" android:icon="@drawable/ic_action_new" android:orderInCategory="102" android:showAsAction="always" android:title="@string/action_new" android:visible="true" /> <!-- checkableBehavior: single(单选)、all(多选)、none(不可选) --> <!-- checkable: 是否可选 --> <!-- checked: 是否选中 --> <item android:id="@+id/action_sort" android:icon="@drawable/ic_action_sort_by_size" android:showAsAction="ifRoom" android:title="排序"> <menu> <group android:id="@+id/group_sort" android:checkableBehavior="single"> <item android:id="@+id/action_sort_abc" android:checked="true" android:title="字母顺序" /> <item android:id="@+id/action_sort_desc" android:title="从大到小" /> <item android:id="@+id/action_sort_asc" android:title="从小到大" /> <item android:id="@+id/action_sort_time" android:title="最后修改" /> </group> </menu> </item> <item android:id="@+id/action_hide_sort" android:showAsAction="never" android:orderInCategory="99" android:title="隐藏排序" /> </menu>
(2)OptionsActivity
package com.android.menu; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; /** * 选项菜单 Options Menu */ public class OptionsActivity extends Activity { private boolean isHideSort = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_options); } /** * 1. 创建 选项菜单 * * @param menu * @return */ @Override public boolean onCreateOptionsMenu(Menu menu) { // 填充菜单 this.getMenuInflater().inflate(R.menu.menu_options, menu); return true; } /** * 2. 预处理 选项菜单 * * @param menu * @return */ @Override public boolean onPrepareOptionsMenu(Menu menu) { // 修改菜单项的标题 menu.findItem(R.id.action_hide_sort).setTitle( isHideSort ? "显示排序" : "隐藏排序"); // 设置菜单是否可见(开始是可见的) menu.findItem(R.id.action_sort).setVisible(!isHideSort); // 设置组可见 menu.setGroupVisible(R.id.group_sort, !isHideSort); // 设置组是否可选 menu.setGroupCheckable(R.id.group_sort, true, true); // 设置组是否可用 menu.setGroupEnabled(R.id.group_sort, true); return true; } /** * 3. 选中 选项菜单的事件 * * @param item * @return */ @Override public boolean onOptionsItemSelected(MenuItem item) { // 设置菜单项的视觉行为 if (R.id.group_sort == item.getGroupId()) { // 该组的 checkableBehavior 为单选 item.setChecked(true); return true; } String text = ""; switch (item.getItemId()) { case R.id.action_settings: text = "设置操作..."; Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); return true; case R.id.action_exit: // 关闭 this.finish(); return true; case R.id.action_hide_sort: isHideSort = !isHideSort; // 让菜单重新创建 // 会调用 onCreateOptionMenu 和 onPrepareOptionsMenu 方法 invalidateOptionsMenu(); return true; } return super.onOptionsItemSelected(item); } /** * 4. 关闭选项菜单 */ @Override public void closeOptionsMenu() { super.closeOptionsMenu(); } }
3、Context menu 上下文菜单
(1)activity_context.xml :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.android.menu.ContextActivity"> <ListView android:id="@+id/listView_cm" android:layout_width="match_parent" android:layout_height="match_parent"/> </RelativeLayout>
(2)menu_context.xml :
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context="com.android.menu.ContextActivity"> <item android:id="@+id/action_copy" android:title="复制"/> <item android:id="@+id/action_paste" android:title="粘贴"/> <item android:id="@+id/action_delete" android:title="删除"/> </menu>
(3)ContextActivity :
package com.android.menu; import android.app.Activity; import android.os.Bundle; import android.view.ContextMenu; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; import java.util.ArrayList; import java.util.List; /** * 上下文菜单 Context Menu */ public class ContextActivity extends Activity { private ListView listView; private List<String> data = new ArrayList<>(); private ArrayAdapter<String> adapter; private int position; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_context); for (int i = 0; i < 30; i++) { data.add("数据项 " + i); } listView = (ListView) findViewById(R.id.listView_cm); adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data); listView.setAdapter(adapter); // 3. 注册上下文菜单,调用 onCreateContextMenu registerForContextMenu(listView); // 3.1 注销上下文菜单(一般不会用:既然用了上下文菜单,就不会去注销) //unregisterForContextMenu(listView); } /** * 1. 创建 上下文菜单 * * @param menu * @param v * @param menuInfo */ @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { this.getMenuInflater().inflate(R.menu.menu_context, menu); // 设置图标和文本 menu.setHeaderIcon(android.R.drawable.ic_menu_edit); menu.setHeaderTitle("操作:"); // 菜单信息:targetView、position,id AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo; // 列表中触发长按事件(弹出菜单)的位置 position = info.position; } /** * 2. 上下文菜单 选项事件 * * @param item * @return */ @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.action_copy: doOperator("复制"); break; case R.id.action_paste: doOperator("粘贴"); break; case R.id.action_delete: doOperator("删除"); break; } return true; } private void doOperator(String text) { // 显示被点击按钮下标的值 Toast.makeText(this, text + " " + data.get(position), Toast.LENGTH_SHORT).show(); } /** * 4. 关闭 上下文菜单 * * @param menu */ @Override public void onContextMenuClosed(Menu menu) { super.onContextMenuClosed(menu); } }
4、Contextual Action Bar(CAB) 上下文操作栏
(1)activity_cab.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.android.menu.CabActivity"> <ListView android:id="@+id/listView_cab" android:layout_width="match_parent" android:layout_height="match_parent"/> </RelativeLayout>
(2)menu_cab.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context="com.android.menu.CabActivity"> <item android:id="@+id/action_cab_copy" android:title="复制"/> <item android:id="@+id/action_cab_delete" android:title="删除"/> </menu>
(3)
package com.android.menu; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.util.SparseBooleanArray; import android.view.ActionMode; import android.view.Menu; import android.view.MenuItem; import android.widget.AbsListView; import android.widget.ArrayAdapter; import android.widget.ListView; import java.util.ArrayList; public class CabActivity extends Activity { private ListView listView; private ArrayList<String> data = new ArrayList<String>(); private ArrayAdapter<String> adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_cab); for (int i = 0; i < 30; i++) { data.add("数据项 " + i); } listView = (ListView) findViewById(R.id.listView_cab); // 模版需要有选中状态(activated) adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_activated_1, data); listView.setAdapter(adapter); // 设置选择模式 listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); // 设置多选监听器 listView.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() { @Override public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) { // 2. 获得选中的总数 int count = listView.getCheckedItemCount(); // 2.1 设置标题 (显示有几个选中了) mode.setTitle(String.valueOf(count)); } @Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { // 1. 创建菜单 getMenuInflater().inflate(R.menu.menu_cab, menu); return true; } @Override public boolean onPrepareActionMode(ActionMode mode, Menu menu) { return false; } // 3. @Override public boolean onActionItemClicked(ActionMode mode, MenuItem item) { // 获得选中的多项【稀疏数组】 SparseBooleanArray array = listView.getCheckedItemPositions(); switch (item.getItemId()) { case R.id.action_cab_copy: // {2=true, 4=true, 5=true}................ Log.v("MENU", array.toString() + "................"); //适用于有 ID 的数据 //long[] ids = listView.getCheckedItemIds(); break; case R.id.action_cab_delete: for (int i = array.size() - 1; i > -1; i--) { // {2=true, 4=true, 5=true} 分割开 // 获得选中的下标 int position = array.keyAt(i); // 删除数据中的指定元素(之前被选中的元素) data.remove(position); } break; } //通知视图改变 adapter.notifyDataSetChanged(); // 结束CAB模式,调用 onDestoryActionMode 方法 mode.finish(); return true; } @Override public void onDestroyActionMode(ActionMode mode) { } }); } }
5、Popup menu 弹出菜单
(1)activity_popup.xml :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.android.menu.PopupActivity"> <Button android:id="@+id/button_popupMenu" style="@android:style/Widget.DeviceDefault.Button.Borderless" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentTop="true" android:drawablePadding="8dp" android:drawableRight="@drawable/ic_more_vert_grey600_16dp" android:onClick="onClick"/> </RelativeLayout>
(2)menu_popup.xml :
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context="com.android.menu.PopupActivity"> <item android:id="@+id/action_pop_edit" android:title="编辑"/> <item android:id="@+id/action_pop_remove" android:title="删除"/> </menu>
(3)PopupActivity :
package com.android.menu; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.MenuItem; import android.view.View; import android.widget.PopupMenu; public class PopupActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_popup); } public void onClick(View view) { // 创建弹出菜单 // 参数一:上下文 // 参数二:菜单的锚 PopupMenu menu = new PopupMenu(this, view); // 加载菜单文件 menu.inflate(R.menu.menu_popup); // 添加菜单项点击监听器 menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { case R.id.action_pop_edit: Log.v("MENU", "修改......"); break; case R.id.action_pop_remove: Log.v("MENU", "删除......"); break; } return true; } }); // 添加菜单消失时的监听器【点击菜单项或其他区域,菜单会消失】 menu.setOnDismissListener(new PopupMenu.OnDismissListener() { @Override public void onDismiss(PopupMenu menu) { } }); // 显示菜单 menu.show(); } }
附 代码补充
1. style.xml(v21) :
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="AppTheme" parent="android:Theme.Material.Light"> <item name="android:colorPrimaryDark">@android:color/holo_blue_dark</item> <item name="android:colorPrimary">@android:color/holo_blue_light</item> <item name="android:navigationBarColor">@android:color/transparent</item> </style> </resources>
2. strings.xml :
<resources> <string name="app_name">Menu</string> <string name="title_activity_options">选项菜单</string> <string name="title_activity_context">上下文菜单</string> <string name="title_activity_popup">弹出式菜单</string> <string name="title_activity_cab">上下文操作栏</string> <string name="action_settings">设置</string> <string name="action_exit">退出</string> <string name="action_new">新建</string> </resources>
3. AndroidManifest.xml :
<?xml version="1.0" encoding="utf-8"?> <manifest package="com.android.menu" xmlns:android="http://schemas.android.com/apk/res/android"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activity android:name=".OptionsActivity" android:label="@string/title_activity_options" android:parentActivityName=".MainActivity"/> <activity android:name=".ContextActivity" android:label="@string/title_activity_context" android:parentActivityName=".MainActivity"/> <activity android:name=".CabActivity" android:label="@string/title_activity_cab" android:parentActivityName=".MainActivity"/> <activity android:name=".PopupActivity" android:label="@string/title_activity_popup" android:parentActivityName=".MainActivity"/> </application> </manifest>
发表评论
-
【攻克Android (43)】WebView (网络视图)
2015-09-09 22:15 1249本文围绕以下两个部分展开: 一、WebView WebVi ... -
WebView (网络视图)
2015-09-09 22:12 0本文围绕以下两个部分展开: 一、WebView WebVi ... -
【攻克Android (41)】HttpURLConnection
2015-09-08 17:43 1357本文围绕以下三个部分展开: 一、HttpURLConnec ... -
HttpURLConnection
2015-09-08 17:42 0本文围绕以下三个部分展开: 一、HttpURLConnec ... -
【攻克Android (40)】JSON解析
2015-09-07 20:49 1271本文围绕以下三个部分 ... -
JSON解析
2015-09-07 20:47 0本文围绕以下三个部分 ... -
【攻克Android (39):XML解析之四】Simple方式解析XML
2015-08-27 18:38 1741本文围绕以下三个部分 ... -
【攻克Android (38):XML解析之三】Pull方式解析XML
2015-08-27 09:25 1734本文围绕以下两个部分展开: 一、Pull解析 案例一:P ... -
【攻克Android (37):XML解析之二】SAX方式解析XML
2015-08-26 15:15 872本文围绕以下两个部分展开: 一、SAX解析 案例一 ... -
【XML解析之一】SAX方式解析XML
2015-08-26 02:58 0本文围绕以下四个部分展开: 一、SAX解析 案例一 ... -
【攻克Android (36):XML解析之一】DOM方式解析XML
2015-08-26 00:27 937本文围绕以下三个部分展开: 一、XML概述 二、DOM解析 ... -
DOM方式解析XML案例
2015-08-26 00:26 0本文围绕以下四个部分展开: 一、DOM解析 案例一 ... -
【XML解析之四】Simple方式解析XML
2015-08-27 18:36 0本文围绕以下三个部分 ... -
【XML解析之一】Pull方式解析XML
2015-08-26 02:56 0本文围绕以下四个部分展开: 一、Pull解析 案例一:P ... -
【攻克Android (22)】View/Tween Animation 视图动画(补间动画)
2015-08-25 21:22 877本文围绕以下四个部分 ... -
【攻克Android (22)】View/Tween Animation 视图动画(补间动画)
2015-08-25 21:21 0本文围绕以下四个部分 ... -
【攻克Android (45)】四大组件之 ContentProvider
2015-08-18 16:24 1097本文围绕以下两个部分展开: 一、ContentProvide ... -
【攻克Android (32)】Notification 通知
2015-08-17 19:57 944本文围绕以下两个部分展开: 一、通知 案例一 一 ... -
Notification 通知
2015-08-17 19:56 0本文围绕以下两个部分展开: 一、通知 案例一 一 ... -
BroadcastReceiver完整版
2015-08-17 13:15 0本文围绕以下四个部分展开: 一、广播 案例一:系统广播(属于 ...
相关推荐
【攻克Data动态获取网页评论,保存数据库】是一个关于利用特定工具——攻克Data,来抓取网页上的评论数据并存储到数据库的过程。这个过程涉及到网络爬虫技术、JSON解析以及数据库管理等多个IT领域的知识点。 1. **...
【大学生攻克Linux系统教程】 本教程专为对Linux操作系统感兴趣的初学者设计,旨在提供一个从零开始学习Linux的全面指南。教程内容涵盖了Linux系统的安装、基本操作、文本编辑器VI的使用、调试工具GDB的基础知识,...
根据提供的信息,“24学时攻克C++”这本书旨在通过一系列高效的学习计划帮助读者在较短的时间内掌握C++编程语言。尽管仅上传了23页的内容,我们仍然可以从书名、描述以及部分可见的内容中推断出一些关键知识点。 ##...
《24小时攻克C++代码》是一门针对C++编程语言深入浅出的学习教程,旨在帮助初学者在短时间内掌握C++编程基础,并逐步提升至进阶水平。C++是一种广泛应用的面向对象编程语言,它的强大功能和高效性能使得它在系统软件...
大学生攻克Linux系统教程(又名天下没有难学的Linux)。一位在校大学生整理的教程,献给每一位要征服Linux的学习者-五星级的Linux教程。 本书汇集众多Linux学习者的心血与贡献,有很多作者在默默的为你呼喊,感谢...
8天攻克8000词汇,word版,方便学习,背单词的好东东
【备战2014】高考英语精讲巧解分类攻克13主要涵盖了英语语法中的状语从句,尤其是时间状语从句、条件状语从句以及原因状语从句。下面将对这些知识点进行详细解析。 1. 时间状语从句: - 时间状语从句通常由when,...
1. 法拉第电磁感应定律:标题和描述中提到的"高考物理 精讲巧解分类攻克13"涉及到高中物理中的重要概念——法拉第电磁感应定律。根据定律,线圈中感应电动势(E)与磁通量(Φ)的变化率成正比,即E = n * ΔΦ/Δt...
标题中的“新东方8天攻克8000单词魔鬼训练营”揭示了一个高效学习英语单词的课程项目。新东方作为知名的教育机构,以其在英语教学领域的专业性而著称,这个训练营可能是一个针对英语学习者设计的高强度、短期记忆...
【备战2014】高考化学精讲巧解分类攻克13主要涵盖了高中化学选择题的解析和相关知识点。题目涉及原子结构、元素性质、化学键类型、元素周期律以及同位素等多个方面。 1. 同位素的概念:题目中提到的①②③分别代表H...
### 13. 高级函数 函数重载和重写是C++中的重要概念,允许同一个函数名有不同的行为,从而提高了代码的灵活性和可读性。 ### 14. 操作符重载 操作符重载允许程序员自定义C++内置操作符的行为,对于实现复杂的数学...
在Android平台上实现自动来电录音是一项技术挑战,但并非无法攻克。Android系统提供了丰富的API和工具,使得开发者可以创建各种功能丰富的应用,包括来电录音。在本文中,我们将深入探讨如何利用Android的...
如果遇到`javah`不能反编译的问题,可以参考推荐的文章《1分钟攻克NDK开发中javah不能反编译的问题》。 总的来说,搭建Android NDK r10环境涉及下载NDK、配置Eclipse、设置Builder以及处理源代码。通过这个过程,...
在学习编程语言C++的过程中,24学时的课程安排是一个相当常见的学习进度,这个压缩包文件名为"24学时攻克C++源码及习题答案",显然是为初学者设计的一套完整教程。C++是面向对象编程的重要语言,它的强大功能和广泛...
13. 民族企业衰退的根本原因:一战结束后,民族企业快速衰退,根本原因在于中国半殖民地半封建的社会性质,国内缺乏稳定的市场环境和独立的工业体系。 总结:这些题目涉及的历史知识点主要包括鸦片战争后中国社会...
13. 纬度高低判断:通过正午太阳高度和昼长情况,可以判断三地纬度,P地正午太阳高度最小,纬度最高,其次是N地,M地正午太阳高度最大,纬度最低。 14. 地球自转速度与纬度:地球自转线速度从赤道向两极递减,所以...
13. **分层抽样应用**:在第14题中,要从不同年级的学生中进行分层抽样,抽取比例应与各年级学生人数的比例相同。所以,高一、高二、高三抽取的人数分别为15人、10人、20人。 14. **诺贝尔奖知识**:这个问题是填空...
### 如何深入学习Android Framework #### 一、学习Android Framework的重要性 在当今移动互联网时代,Android作为全球最大的移动操作系统之一,...通过不断地实践和探索,逐步攻克各个难点,最终达到熟练掌握的目的。
本文将重点解析“40天攻克大学英语四级”中的核心知识点,尤其是关于作文和翻译部分的倒装句技巧。 倒装句是英语写作中的一种高级表达方式,它能够使句子更具表现力,提升文章的层次感。倒装句分为完全倒装和部分倒...