Toolbar(标题栏)

来源:互联网 发布:sql 查询包含字段的表 编辑:程序博客网 时间:2024/06/14 10:45

主类:

package com.example.k.myapplication;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.support.v7.widget.Toolbar;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    Toolbar toolbar;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        toolbar = (Toolbar) findViewById(R.id.toolbar);        //toolbar.setTitle("ok");        //toolbar.setSubtitle("ok2");        toolbar.setLogo(R.mipmap.ic_launcher);        //设置导航图标要在setSupportActionBar方法之后        setSupportActionBar(toolbar);        //toolbar.setNavigationIcon(R.mipmap.ic_drawer_home);        //注册点击事件        toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {            @Override            public boolean onMenuItemClick(MenuItem item) {                switch (item.getItemId()) {                    case R.id.action_search:                        Toast.makeText(MainActivity.this, "Search !", Toast.LENGTH_SHORT).show();                        break;                    case R.id.action_notifications:                        Toast.makeText(MainActivity.this, "Notificationa !", Toast.LENGTH_SHORT).show();                        break;                    case R.id.action_settings:                        Toast.makeText(MainActivity.this, "Settings !", Toast.LENGTH_SHORT).show();                        break;                }                return true;            }        });    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.menu, menu);        return true;    }    }
以下为布局文件:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    xmlns:toolbar="http://schemas.android.com/apk/res-auto">    <!-- 用本程序的颜色android:background="?attr/colorPrimary"  -->    <!-- 使用自定义主题toolbar:popupTheme="@style/ToolbarPopupTheme" -->    <android.support.v7.widget.Toolbar        android:id="@+id/toolbar"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:background="?attr/colorPrimary"        toolbar:popupTheme="@style/ToolbarPopupTheme"        >        <TextView            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:text="标题"            android:textColor="#ffffff"            android:textSize="20sp"/>    </android.support.v7.widget.Toolbar></FrameLayout>


以下为menu文件夹下的menu.menu.xml文件:

<menu xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">    <!-- 注意:当showAsAction属性值被设置为ifRoom时此项就会以图片的方式显示在外面,而被设置为never时,此项就会被放入菜单里-->    <item android:id="@+id/action_search"        android:title="Search"        android:icon="@drawable/ok"        app:showAsAction="ifRoom"/>    <item android:id="@+id/action_notifications"        android:title="notifications"        android:icon="@drawable/ok"        app:showAsAction="ifRoom"/>    <item android:id="@+id/action_settings"        android:title="设置1"        android:orderInCategory="200"        android:icon="@drawable/ok"        app:showAsAction="never"/></menu>


以下为styles.xml文件:

<resources>    <!-- Base application theme. -->    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">        <!-- Customize your theme here. -->        <item name="colorPrimary">@color/colorPrimary</item>        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>        <item name="colorAccent">@color/colorAccent</item>        <!-- 此属性对应的是左上角那三个圆点的颜色 -->        <item name="android:textColorSecondary">#ffffff</item>    </style>    <!-- toolbar弹出菜单样式 -->    <style name="ToolbarPopupTheme" parent="@style/ThemeOverlay.AppCompat.Dark">        <item name="android:colorBackground">#ffffff</item>        <item name="android:textColor">#950000</item>        <item name="actionOverflowMenuStyle">@style/OverflowMenuStyle</item> <!--新增一个item,用于控制menu-->    </style>    <style name="OverflowMenuStyle" parent="Widget.AppCompat.Light.PopupMenu.Overflow">        <item name="overlapAnchor">false</item>  <!--把该属性改为false即可使menu位置位于toolbar之下-->    </style></resources>
Toolbar 详细参考链接:http://blog.csdn.net/a553181867/article/details/51336899

1 0
原创粉丝点击