android---(actionBar)
2015-10-15 22:02
609 查看
android.support.v7.app.ActionBar actionBar = getSupportActionBar(); actionBar.hide();
//导航: //主activity,也就是主页: public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); android.support.v7.app.ActionBar actionBar = getSupportActionBar(); actionBar.setHomeButtonEnabled(true);//图标启动 } public void startActivity(View v){ startActivity(new Intent(this, Main2Activity.class)); } } //另一个activity:actionBarActivity已过时,使用AppCompatActivity public class Main2Activity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); ActionBar supportActionBar = getSupportActionBar(); supportActionBar.setDisplayHomeAsUpEnabled(true);//向上导航 } //清单文件: <activity android:name=".Main2Activity" android:label="@string/title_activity_main2" android:parentActivityName=".MainActivity" >//指定上一层导航 //兼容低版本 <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity" /> </activity> ----------------------------- //菜单文件: <item android:id="@+id/serch" android:icon="@android:drawable/ic_menu_search" android:orderInCategory="300" android:title="search" app:actionViewClass="android.support.v7.widget.SearchView" app:showAsAction="ifRoom|collapseActionView" /> <item android:id="@+id/share" android:icon="@android:drawable/ic_menu_share" android:orderInCategory="400" app:showAsAction="ifRoom" android:title="share" //使用app,而不是android, app:actionProviderClass="android.support.v7.widget.ShareActionProvider" /> ---------------------- //activity类: @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); //获取搜索菜单项 MenuItem item = menu.findItem(R.id.serch); //转化为搜索视图组件 SearchView searchView = (SearchView) item.getActionView(); //注册事件,获取输入的值 searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { Toast.makeText(getApplicationContext(), query, Toast.LENGTH_LONG).show(); return false; } @Override public boolean onQueryTextChange(String newText) { return false; } }); ================================================= //分享菜单项 MenuItem shareItem = menu.findItem(R.id.share); //通过这个菜单得到分享组件提供者 ShareActionProvider mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(shareItem); //分享的事件 mShareActionProvider.setShareIntent(getDefaultIntent()); return true; } //启动所有可以分享的程序 private Intent getDefaultIntent() { Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("image/*"); return intent; }
//选项卡: //activity类: public class MainActivity extends AppCompatActivity implements ActionBar.TabListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ActionBar actionBar = getSupportActionBar(); //更改标题栏模式 actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); //标题不显示 actionBar.setDisplayShowTitleEnabled(false); //添加选项卡: actionBar.addTab(actionBar.newTab().setText("新闻").setTabListener(this)); actionBar.addTab(actionBar.newTab().setText("视屏").setTabListener(this)); actionBar.addTab(actionBar.newTab().setText("音乐").setTabListener(this)); actionBar.addTab(actionBar.newTab().setText("游戏").setTabListener(this)); } @Override public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { Toast.makeText(this,tab.getText(),Toast.LENGTH_SHORT).show(); } @Override public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { } @Override public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { } }
权限: <uses-permission android:name="android.permission.READ_PHONE_STATE" /> //电话服务管理的API方法 public void testTelePhoneManager() { TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); System.out.print("电话状态:" + tm.getCallState()); System.out.print("唯一的设备ID:" + tm.getDeviceId()); System.out.print("设备的软件版本号:" + tm.getDeviceSoftwareVersion()); System.out.print("手机号:" + tm.getLine1Number()); System.out.print("获取ISO标准的国家码,即国际长途区号:" + tm.getLine1Number()); System.out.print("当前使用的网络类型:" + tm.getNetworkType()); System.out.print("手机类型:" + tm.getPhoneType()); System.out.print("SIM的状态信息:" + tm.getSimState()); System.out.print("唯一的用户ID:" + tm.getSubscriberId()); System.out.print("SIM卡的序列号:" + tm.getSimSerialNumber()); System.out.print("服务商名称:" + tm.getSimOperator()); }
public class MainActivity extends AppCompatActivity { TextView t01; TextView t02; TextView t03; TextView t04; TextView t05; TextView t06; TextView t07; TextView t08; TextView t09; TextView t10; TextView t11; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); t01 = (TextView) findViewById(R.id.t01); t02 = (TextView) findViewById(R.id.t02); t03 = (TextView) findViewById(R.id.t03); t04 = (TextView) findViewById(R.id.t04); t05 = (TextView) findViewById(R.id.t05); t06 = (TextView) findViewById(R.id.t06); t07 = (TextView) findViewById(R.id.t07); t08 = (TextView) findViewById(R.id.t08); t09 = (TextView) findViewById(R.id.t09); t10 = (TextView) findViewById(R.id.t10); t11 = (TextView) findViewById(R.id.t11); testTelePhoneManager(); } //电话服务管理的API方法 public void testTelePhoneManager() { TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); t01.setText("电话状态:" + tm.getCallState()); t02.setText("唯一的设备ID:" + tm.getDeviceId()); t03.setText("设备的软件版本号:" + tm.getDeviceSoftwareVersion()); t04.setText("手机号:" + tm.getLine1Number()); t05.setText("获取ISO标准的国家码,即国际长途区号:" + tm.getLine1Number()); t06.setText("当前使用的网络类型:" + tm.getNetworkType()); t07.setText("手机类型:" + tm.getPhoneType()); t08.setText("SIM的状态信息:" + tm.getSimState()); t09.setText("唯一的用户ID:" + tm.getSubscriberId()); t10.setText("SIM卡的序列号:" + tm.getSimSerialNumber()); t11.setText("服务商名称:" + tm.getSimOperator()); //监听打电话的状态; tm.listen(new MyPhoneStateListener(), PhoneStateListener.LISTEN_CALL_STATE); } //电话监听事件: private class MyPhoneStateListener extends PhoneStateListener { //电话监听状态: @Override public void onCallStateChanged(int state, String incomingNumber) { super.onCallStateChanged(state, incomingNumber); switch (state) { case TelephonyManager.CALL_STATE_IDLE: Toast.makeText(MainActivity.this, "挂机状态", Toast.LENGTH_LONG).show(); break; case TelephonyManager.CALL_STATE_RINGING: Toast.makeText(MainActivity.this, "电话响铃状态", Toast.LENGTH_LONG).show(); break; case TelephonyManager.CALL_STATE_OFFHOOK: Toast.makeText(MainActivity.this, "接听状态", Toast.LENGTH_LONG).show(); break; } } } }
//来电显示: public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { testTelePhoneManager(); } //电话服务管理的API方法 public void testTelePhoneManager() { //测试来电显示,直接发送一个广播 sendBroadcast(new Intent(this,PhoneListenerReceiver.class)); } //广播接书器: public class PhoneListenerReceiver extends BroadcastReceiver { public PhoneListenerReceiver() { } @Override public void onReceive(Context context, Intent intent) { //获取电话管理器对象,并注册监听器 TelephonyManager tm = (TelephonyManager) context.getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE); tm.listen(new MyPhoneStateListener(context), PhoneStateListener.LISTEN_CALL_STATE); } static WindowManager wm = null; private class MyPhoneStateListener extends PhoneStateListener { private Context context; TextView textView = null; //显示文字组件 public MyPhoneStateListener(Context context) { this.context = context; } @Override public void onCallStateChanged(int state, String incomingNumber) { super.onCallStateChanged(state, incomingNumber); //响铃状态: if (state == TelephonyManager.CALL_STATE_RINGING) { //获取窗体对象 wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); //窗体参数对象 WindowManager.LayoutParams params = new WindowManager.LayoutParams(); //设置为一个浮动层 params.type = WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY; //设置窗体为不能触摸和没有焦点的 params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; params.width = WindowManager.LayoutParams.WRAP_CONTENT; params.height = WindowManager.LayoutParams.WRAP_CONTENT; textView = new TextView(context); textView.setText("当前电话号码:" + incomingNumber); wm.addView(textView, params); //添加浮动视图 //挂机状态 } else if (state == TelephonyManager.CALL_STATE_IDLE) { if (wm != null) { wm.removeView(textView); wm = null; } } } } } //配置清单: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.zhangjianbin.myapplication" > <uses-permission android:name="android.permission.READ_PHONE_STATE" /> //开机启动 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> //实现悬浮窗口 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <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> <receiver android:name=".PhoneListenerReceiver" android:enabled="true" android:exported="true" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> </application> </manifest>
相关文章推荐
- Android循序渐进 - 3.3 Handler消息传递机制浅析
- Android_03_数据库的使用总结
- Android Canvas笔记
- Android自定义控件之百分比圆环进度条
- Android从assets和raw中读取txt文件
- android学习2:Intent与Bundle
- Android 开发记录
- android中画图类的介绍Path
- android:自定义dialog
- Toast使用2
- Android Studio 从安装到配置使用
- Android Studio 从安装到配置使用
- Windows下Qt 5.2 for Android开发入门
- android开发基础之-----------自定义toast
- windows下Qt5.1 for android开发环境配置
- Android基础
- android 09
- Qt for Android 编译安卓原生可执行程序
- Android Studio Gradle编译问题
- Android中activity的两种启动方式