androidのActionbar
16lz
2021-01-23
androidのActionbar
1. ActionBar关键属性
//获取ActionBar代码需写在setContentView方法后
ActionBar actionBar = getActionBar();
//设置操作栏导航下拉列表模式
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
//设置操作栏导航Tab模式
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
//实现返回主页需添加
actionBar.setHomeButtonEnabled(true);
这个属性使用需要添加:
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent intent = new Intent(this, MainActivity2.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
//隐藏actionbar 图标旁title文本
actionBar.setDisplayShowTitleEnabled(false);
2. 关键代码
public class ActionBarTestActivity extends Activity{
private static final String TAG = "ActionBarTestActivity";
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.contents);
//资源布局的获取必须在调用之前actionBar.setListNavigationCallbacks()定义,否则会报空指针异常
SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.action_list, android.R.layout.simple_spinner_dropdown_item);
//获取ActionBar代码需写在setContentView方法后
ActionBar actionBar = getActionBar();
//设置操作栏导航下拉列表模式
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
//设置导航列表回调响应
actionBar.setListNavigationCallbacks(mSpinnerAdapter, new mNavigationCallback());
//实现返回主页需添加
actionBar.setHomeButtonEnabled(true);
Log.i(TAG, "height"+actionBar.getHeight()); //打印actionbar高度
Tab tab = actionBar.newTab().setText(R.string.tab1).setTabListener(
new TabListener<tab1Fragment>(this, "tab1", tab1Fragment.class));
actionBar.addTab(tab);
tab = actionBar.newTab().setText(R.string.tab2).setTabListener(
new TabListener<tab2Fragment>(this, "tab2", tab2Fragment.class));
actionBar.addTab(tab);
tab = actionBar.newTab().setText(R.string.tab3).setTabListener(
new TabListener<tab3Fragment>(this, "tab3", tab3Fragment.class));
actionBar.addTab(tab);
}
//为操作栏添加菜单
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menus, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case android.R.id.home:
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
//下拉列表导航的监听类
public class mNavigationCallback implements ActionBar.OnNavigationListener{
String[] listNames = getResources().getStringArray(R.array.action_list);
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId){
ListFragment listFragment = new ListFragment();
FragmentManager manager = getFragmentManager();
FragmentTransaction ft = manager.beginTransaction();
ft.replace(R.id.titles, listFragment, listNames[itemPosition]);
ft.commit();
return true;
}
}
}
1. ActionBar关键属性
//获取ActionBar代码需写在setContentView方法后
ActionBar actionBar = getActionBar();
//设置操作栏导航下拉列表模式
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
//设置操作栏导航Tab模式
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
//实现返回主页需添加
actionBar.setHomeButtonEnabled(true);
这个属性使用需要添加:
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent intent = new Intent(this, MainActivity2.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
//隐藏actionbar 图标旁title文本
actionBar.setDisplayShowTitleEnabled(false);
2. 关键代码
public class ActionBarTestActivity extends Activity{
private static final String TAG = "ActionBarTestActivity";
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.contents);
//资源布局的获取必须在调用之前actionBar.setListNavigationCallbacks()定义,否则会报空指针异常
SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.action_list, android.R.layout.simple_spinner_dropdown_item);
//获取ActionBar代码需写在setContentView方法后
ActionBar actionBar = getActionBar();
//设置操作栏导航下拉列表模式
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
//设置导航列表回调响应
actionBar.setListNavigationCallbacks(mSpinnerAdapter, new mNavigationCallback());
//实现返回主页需添加
actionBar.setHomeButtonEnabled(true);
Log.i(TAG, "height"+actionBar.getHeight()); //打印actionbar高度
Tab tab = actionBar.newTab().setText(R.string.tab1).setTabListener(
new TabListener<tab1Fragment>(this, "tab1", tab1Fragment.class));
actionBar.addTab(tab);
tab = actionBar.newTab().setText(R.string.tab2).setTabListener(
new TabListener<tab2Fragment>(this, "tab2", tab2Fragment.class));
actionBar.addTab(tab);
tab = actionBar.newTab().setText(R.string.tab3).setTabListener(
new TabListener<tab3Fragment>(this, "tab3", tab3Fragment.class));
actionBar.addTab(tab);
}
//为操作栏添加菜单
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menus, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case android.R.id.home:
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
//下拉列表导航的监听类
public class mNavigationCallback implements ActionBar.OnNavigationListener{
String[] listNames = getResources().getStringArray(R.array.action_list);
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId){
ListFragment listFragment = new ListFragment();
FragmentManager manager = getFragmentManager();
FragmentTransaction ft = manager.beginTransaction();
ft.replace(R.id.titles, listFragment, listNames[itemPosition]);
ft.commit();
return true;
}
}
}
更多相关文章
- Android网络操作
- android折叠展开列表测试
- 智能手机软件平台 Android VS iPhone OS: 商业模式分析 (2/4)
- android之PopUpWindow显示Listview(文件列表)
- 移除Android中的安全模式
- [Android GMS 认证] CTS 问题列表之 CtsAutoFillServiceTestCase
- android SD 卡写操作
- android之SQlite创建数据库操作
- Android键盘操作响应