您的位置:首页 > 其它

Toolbar(标题栏)

2016-06-01 20:48 330 查看
主类:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: