ActionBar
来源:互联网 发布:ray面膜 知乎 编辑:程序博客网 时间:2024/05/29 09:27
1去掉标题栏,一定要在setContentView之前写
requestWindowFeature(Window.FEATURE_NO_TITLE);
2 】getActionBar()获取ActionBar对象
】bar.show();显示
】bar.hide();隐藏
// 设置ActionBar的自定义布局可用.
// bar.setDisplayShowCustomEnabled(true);
// 自定义ActionBar的布局.需要和setDisplayShowCustomEnabled()一起使用
// bar.setCustomView(resId);
// 设置ActionBar的标题不可用
bar.setDisplayShowTitleEnabled(false);
// 设置logo图标可用
bar.setDisplayUseLogoEnabled(true);
// 设置显示Home菜单.
bar.setDisplayShowHomeEnabled(true);
// 使得Home菜单可用.
bar.setHomeButtonEnabled(true);
】android.R.id.home ——-ActionBar上home键id,要在菜单监听事件中响应
3 使用Split action bar
在屏幕很窄时(如在portra模式),使用Split action bar可以将所有的action显示在屏幕底部
】在清单文件中的Activity标签设置属性
android:uiOptions=”splitActionBarWhenNarrow”
4 在ActionBar中使用SearchView 第一步,在item中关联actionViewClass<item android:id="@+id/actionbar_search" android:showAsAction="ifRoom" android:title="搜索" android:actionViewClass="android.widget.SearchView"/>只能手写第二步,在onCreateOptionsMenu中找到SearchView并设置监听MenuItem item=menu.findItem(R.id.actionbar_search); SearchView sv=(SearchView) item.getActionView(); sv.setOnQueryTextListener(new OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { return false; } @Override public boolean onQueryTextChange(String newText) { tv.setText(newText);// Toast.makeText(getApplicationContext(), newText, 0).show(); return false; } });5 在ActionBar中使用分享功能第一步: 在item中关联actionProviderClas <item android:id="@+id/share" android:showAsAction="ifRoom" android:title="分享" android:actionProviderClass="android.widget.ShareActionProvider"/>第二步: 在onCreateOptionsMenu中找到ShareActionProvider进行分享功能的设置getMenuInflater().inflate(R.menu.main,menu); MenuItem item=menu.findItem(R.id.share); ShareActionProvider ap=(ShareActionProvider) item.getActionProvider(); Intent intent=new Intent(); intent.setAction(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_TEXT, "穿过来的数据"); //通过setShareIntent开启数据的共享 ap.setShareIntent(intent);】如果要在自己其它的应用A也想分享该应用B的数据,需要在A的配置文件中过滤相同Intent属性 <intent-filter > <action android:name="android.intent.action.SEND"/> <data android:mimeType="text/plain"/> </intent-filter>6 使用ActionBar向上导航(跳转到指定Activity,)】注意:比如A-B-C-D依次跳转,只能是下一级Activity向上跳转, 如 D—A 】使用步骤1: //在D中设置向上导航可用 bar.setDisplayHomeAsUpEnabled(true);步骤2:在D的清单文件中设置父Activity android:parentActivityName="com.example.demo.A"7 使用ActionBar实现Tab导航】步骤 //获取ActionBar对象 ActionBar bar = getActionBar(); // 导航模式:必须设置. bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); // 获取tab标签 Tab tab1 = bar.newTab(); // 添加标题 tab1.setText("爱情片"); // 添加页签的图片 tab1.setIcon(R.drawable.ic_launcher); // tab必须添加监听 tab1.setTabListener(this); // 添加标签 bar.addTab(tab1); bar.addTab(bar.newTab().setText("动作片").setTabListener(this));/************************** TabListener的监听方法 *************************************/ // 当tab被选择的时候调用.tab:当前被选择的标签;ft:用来管理fragment的事务. @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { MyFragment fragment = new MyFragment(); Bundle args = new Bundle(); // tab.getPosition():获取tab所在的位置.从0开始. args.putInt("position", tab.getPosition()); fragment.setArguments(args); //ft.add(R.id.ll_container, fragment); ft.replace(R.id.ll_container, fragment); }8 在ActionBar中使用List导航 List<String> l=new ArrayList(); l.add("list1"); l.add("list2"); l.add("list3"); ActionBar bar=getActionBar(); //设置导航模式为List bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); //填充适配器 ArrayAdapter<String> adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,l); //设置监听 bar.setListNavigationCallbacks(adapter, new OnNavigationListener() { @Override public boolean onNavigationItemSelected(int itemPosition, long itemId) { return false; } });
- ActionBar
- ActionBar
- ActionBar
- Actionbar
- ActionBar
- actionbar
- actionBar
- actionbar
- ActionBar
- ActionBar
- ActionBar
- ActionBar
- ActionBar
- ActionBar
- actionbar
- ActionBar()
- actionbar
- ActionBar
- 数据结构 PAT 01-复杂度2 Maximum Subsequence Sum
- POJ 2182&& POJ 2828:Lost Cows 从后往前 线段树
- 数据结构初语~
- <Android知识点整理>0.序
- java 实现动态代理
- ActionBar
- 【Foundation-62-1】#import <Foundation/NSRange.h>范围
- 数据结构学习规划~
- 【特种兵PPT教程】如何实现PPT播放时内部页间的跳转?
- 【设计模式】(一)单例模式
- awk笔记
- ERROR - 文件名:D:\31X.bmp, 错误码: -1304, 错误原因: person info is null
- iOS开发:UISwitch 与 UIActivityIndicatorView
- 二分查找的递归实现和迭代实现