使用AndroidStudio一分钟实现Navigation Drawer 导航抽屉效果

来源:互联网 发布:fft算法 acm 编辑:程序博客网 时间:2024/06/03 19:22

     关注寻梦(finddreams),一起成长,一起进步: http://blog.csdn.net/finddreams/article/details/49492579

  话不多说,先看看咱们今天要做的效果图:
  
  这里写图片描述

  看到这个效果图,你或许会说:“一分钟做出这个,Are you kidding me?“;

  什么Android编译器能够这么智能,还能一键生成Navigation Drawer 这种目前APP中用的比较广泛的导航抽屉效果呢?答案就是谷歌官方的AndroidStudio 。

  要实现这个效果,首先你得是用AndroidStudio的,因为一键生成Navigation Drawer项目是AndroidStudio中的一个模板。如果是用Eclipse的朋友,想要实现这个效果,那就得手动的去码代码了。于是又发现了使用AndroidStudio的一大好处,还在用Eclipse的朋友快快适应用AndroidStudio吧?

  然后AndroidStudio的版本要求是1.4以上,话说AndroidStudio真是版本更新帝,几乎是一个星期一个版本,这也说明了谷歌官方非常的重视和支持这个IDE,同时不断的频繁更新也暴露出AndroidStudio的稳定性问题。

  好吧,具备了以上条件,让我们开始傻瓜式的操作吧。

 1. 新建一个项目,名字随意,然后点击下一步;

这里写图片描述

  2.点击选择Navigation Drawer Activity 这个模板;

这里写图片描述
  
  3. 然后下一步,最后点击finish完成,这样导航抽屉项目就可以生成了。

  最后我们来看看,生成的MainActivity 代码,感觉非常的简洁,很容易看懂。
  

** * @author finddreams *  blog http://blog.csdn.net/finddreams */public class MainActivity extends AppCompatActivity        implements NavigationView.OnNavigationItemSelectedListener {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);        setSupportActionBar(toolbar);        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);        fab.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)                        .setAction("Action", null).show();            }        });        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);        drawer.setDrawerListener(toggle);        toggle.syncState();        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);        navigationView.setNavigationItemSelectedListener(this);    }    @Override    public void onBackPressed() {        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        if (drawer.isDrawerOpen(GravityCompat.START)) {            drawer.closeDrawer(GravityCompat.START);        } else {            super.onBackPressed();        }    }    @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);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();        //noinspection SimplifiableIfStatement        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }    @SuppressWarnings("StatementWithEmptyBody")    @Override    public boolean onNavigationItemSelected(MenuItem item) {        // Handle navigation view item clicks here.        int id = item.getItemId();        if (id == R.id.nav_camera) {            // Handle the camera action        } else if (id == R.id.nav_gallery) {        } else if (id == R.id.nav_slideshow) {        } else if (id == R.id.nav_manage) {        } else if (id == R.id.nav_share) {        } else if (id == R.id.nav_send) {        }        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        drawer.closeDrawer(GravityCompat.START);        return true;    }}

  一分钟生成Navigation Drawer 导航抽屉效果,是不是非常的简单,赶快去试试吧!
  附上源码地址:https://github.com/finddreams/AndOpenCourses
  
  

2 1
原创粉丝点击