APP开发之UI体验—Toolbar

1.新建的项目中,默认使用的是ActionBar,为了能够正常使用ToolBar,我们需要隐藏原来的ActionBar。(每个活动最顶部的标题栏)

在values/styles.xml中做出如下修改:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

     <...>

     <...>

</style>

 

2.修改activity_main.xml中的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent“ android:layout_height="match_parent"
...> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_content" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" android:popupTheme="@style/ThemeOverlay.AppCompat.Light" > <TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="美团"
android:textSize="20sp"/>
</android.support.v7.widget.Toolbar>
<RecyclerView....><>

</LinearLayout>

3.丰富Toolbar~添加菜单

新建res/menu文件夹,在文件夹下新建一个Menu resourse file,创建一个toolbar.xml文件

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" tools:context=".Main1"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/addShop"
        android:title="添加店铺"
        android:icon="@drawable/add"
        android:typeface="serif">
    </item>
    <item
        android:id="@+id/shop"
        android:title="我的店铺"
        android:icon="@drawable/shop"
        android:typeface="serif">
    </item>
    <item
        android:id="@+id/list"
        android:title="我的订单"
        android:icon="@drawable/list"
        android:typeface="serif">
</item> </menu>

意思是设置toolbar中的按钮

接着我们在Activity中,要重写onCreateOptionsMenu()方法,把这个菜单加载进去:

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.toolbar,menu) ;
        return true;
    }

这样就有一个菜单啦~

4.菜单的点击事件

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.shop:
                ...
                return true;
            case R.id.addShop:
                ...
                return true;
            case R.id.list:
                ...
                return true;
        }
        return true;
    }

当然之前要有

Toolbar toolbarMain1 = (Toolbar) findViewById(R.id.toolbarMain1);
setSupportActionBar(toolbarMain1);
ActionBar actionBar = getSupportActionBar();

APP开发之UI体验—Toolbar

上一篇:Pascal、VB、C#、Java四种语法对照表


下一篇:APP开发之UI体验—DrawerLayout