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文件:
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
相关文章推荐
- Loadrunner11.00破解方法
- C++独孤九剑第二式——众妙之门(函数处理机制)
- android隐式intent使用场景解析
- 第二阶段团队项目冲刺第三天
- Java集合类总结
- 鸟哥Java学习之抽象类、接口-面向对象
- Android自由行之走进zxing,轻松实现二维码扫描
- 算法复杂度的计算
- Mybatis扫描不到mapper的奇葩问题
- Windows7 键盘快捷键大全
- poj 3084(最小割)
- [MongoDB]mapReduce
- 快速排序、堆排序、归并排序比较
- PAT (Advanced Level) 1058. A+B in Hogwarts (20)
- Spring MVC Controller默认是单例
- 关于ubuntu14.04下开启wifi给Android使用的方法
- 21.3 共享受限的资源
- mybatis in的使用问题
- 渲染流水线
- 如何在流程管理软件中加强业务数据串联