标签:
ActionBar 为android3.0以后推出的一个动作栏对象,在使用前activity的主题(Theme)不能是noTitleBar,noActionBar.
具体在使用actionBar通常会先通过activity的getActionBar方法获得actionBar,然后再调用
actionBar相关的方法执行一系列操作,例如设置home返回,设置tab导航等。
重点掌握:设置actionBar的样式的过程,一般是
修改主题。
public class MainActivity extends Activity implements TabListener, OnPageChangeListener {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setViewPager(); setActionBar(); } ActionBar bar; private void setActionBar() { //获得actionBar bar=getActionBar(); //bar.hide();(隐藏actionBar) //bar.show();(显示actionBar) //在actionBar显示home返回按钮 //bar.setDisplayHomeAsUpEnabled(true) ; bar.setDisplayShowTitleEnabled(false); 标题隐藏 bar.setDisplayShowHomeEnabled(false); logo隐藏 //.....具体setXXX可参考APIDemos //在actionBar上添加tabs(选项卡) //设置导航模式 bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); bar.addTab(bar.newTab().setText("TAB00").setTabListener(this)); 设置监听器 bar.addTab(bar.newTab().setText("TAB01").setTabListener(this)); } private ViewPager vPager; private void setViewPager(){ vPager=(ViewPager) findViewById(R.id.vPagerId); InnerAdapter adpater=new InnerAdapter(); vPager.setAdapter(adpater); vPager.setOnPageChangeListener(this); } class InnerAdapter extends PagerAdapter{ @Override public int getCount() { return 2; } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0==arg1; } @Override public Object instantiateItem(ViewGroup container, int position) { TextView tv=new TextView(MainActivity.this); tv.setTextSize(30); tv.setText("Pager-"+position); container.addView(tv); return tv; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View)object); } } @Override public boolean onOptionsItemSelected(MenuItem item) { if(item.getItemId()==android.R.id.home){//记住点击home键就关闭页面 finish(); } return super.onOptionsItemSelected(item); } /**tab选中时执行此方法*/ @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { //设置viewPager的当前item vPager.setCurrentItem(tab.getPosition()); 设置页面滑动到当前页 } @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { } @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { } @Override public void onPageScrollStateChanged(int arg0) { } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageSelected(int position) { //设置actionBar当前tab bar.setSelectedNavigationItem(position); 设置滑动到当前bar } } |
public class MainActivity extends Activity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); 初始化一个菜单 MenuItem item=menu.findItem(R.id.share); 找到shareitem ShareActionProvider ap=(ShareActionProvider)item.getActionProvider();
Intent intent=new Intent(Intent.ACTION_SEND); intent.putExtra(Intent.EXTRA_TEXT,"helloworld"); intent.setType("text/*"); ap.setShareIntent(intent); 添加跳转的应用
return true; } public void onClick(View v){ 按钮方式 Intent target=new Intent(Intent.ACTION_SEND); target.putExtra(Intent.EXTRA_TEXT, "helloworld"); target.setType("text/*"); //创建一个分享选择器 Intent intent=Intent.createChooser(target, "分享"); startActivity(intent); } } |
1.Notitification (通知组件)
public class MainActivity extends Activity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }
public void onClick(View v){ //构建一个Builder对象 Notification.Builder builder=new Notification.Builder(this); //设置Builder对象 builder.setSmallIcon(R.drawable.ic_launcher); 设置小logo builder.setContentTitle("title"); 设置标题 builder.setContentText("Content"); 设置内容 builder.setTicker("来新通知了");//引爆消息 设置提示信息 //点击时启动另外组件(例如activity) //builder.setContentIntent(intent) //构建通知对象 Notification ntf=builder.build(); //可选项(设置通知是否可清除) //ntf.flags=Notification.FLAG_NO_CLEAR; //发送通知(借助一个系统服务) NotificationManager nm=(NotificationManager)getSystemService(NOTIFICATION_SERVICE); nm.notify(100, ntf); } } |
2.Toast(吐丝通知)
例子4:Toast
Toast toast = new Toast(getApplicationContext()); toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); 对齐方式 toast.setDuration(Toast.LENGTH_LONG); toast.setView(layout); toast.show(); 别漏了 |
标签:
原文地址:http://blog.csdn.net/gsd1602_yingmu/article/details/51336145