Android--toolbarを追加
7658 ワード
1、NoActionbarのStyleを追加する
2、Activityのthemeを修正する
AndroidManifestでxmlでactivityにthemeを追加し、
3、toolbarコントロールの追加
4、setSupportActionBar
ここのtoolbarはandroidです.support.v7.widget.Toolbar
これはいつものように正常に使われています
5、メニュー項目の追加
メニューレイアウト:
論理実装:
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary
- "colorPrimaryDark"
>@color/colorPrimaryDark
- "colorAccent">@color/colorAccent
style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">falseitem>
<item name="windowNoTitle">trueitem>
style>
resources>
2、Activityのthemeを修正する
AndroidManifestでxmlでactivityにthemeを追加し、
<application
···
<activity
android:name=".MainActivity"
android:theme="@style/AppTheme.NoActionBar">
···
activity>
application>
3、toolbarコントロールの追加
.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:elevation="4dp"
android:background="?attr/colorPrimary" />
4、setSupportActionBar
ここのtoolbarはandroidです.support.v7.widget.Toolbar
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
これはいつものように正常に使われています
5、メニュー項目の追加
メニューレイアウト:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group>
<item
android:id="@+id/switch_mode"
android:icon="@mipmap/all"
app:showAsAction="always"
android:title="@string/nemu_loack" />
<item
android:id="@+id/switch_bg"
android:icon="@mipmap/pic"
app:showAsAction="ifRoom"
android:title="@string/bg_load" />
<item
android:id="@+id/justy_size"
android:icon="@mipmap/move"
app:showAsAction="never"
android:title="@string/set_size" />
···
group>
menu>
論理実装:
//
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.compass_menu,menu);
return super.onCreateOptionsMenu(menu);
}
//
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id= item.getItemId();
switch (id){
case R.id.switch_mode:
break;
case R.id.switch_bg:
break;
case R.id.justy_size:
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}