ActionBar(App Bar)に関してdocumentationとthisと書いてあります。それは述べて:その最も基本的な形態においてツールバーからActionBarアイテムを削除する
を、アクションバーは、一方の側の 活動のタイトルと他のオーバーフローメニュー( 3-点線のフライアウトメニュー)が表示されます。
さまざまなAndroidリリースで、ネイティブActionBar にアプリバーの機能が徐々に追加されています。その結果、ネイティブActionBar は、 デバイスが使用している可能性のあるAndroidシステムのバージョンによって、動作が異なります。 これとは対照的に、最新の機能はサポートライブラリのバージョンに と追加されています。 このため、 は、サポートライブラリのツールバークラスを使用して アクティビティのアプリバーを実装する必要があります。
したがって、基本的には、AppbarをカスタマイズするときにActionbarではなくToolbarを使用するように指示しています。私はアドバイスに耳を傾けると、ツールバーを追加します。
build.gradle(モジュール:アプリ)ファイル:
dependencies {
...
compile 'com.android.support:appcompat-v7:25.2.0'
}
RES /のstyles.xml:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
</style>
</resources>
がactivity_main.xml:
<RelativeLayout ... android:fitsSystemWindows="true" >
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:minHeight="?attr/actionBarSize"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary">
<ImageView android:layout_alignParentTop="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/yourStory" android:src="@drawable/ic_face_black_24dp" />
</android.support.v7.widget.Toolbar>
オーバーフローメニューが表示されるため、ツールバーにアクションバーが焼き付けられているようです私はツールバーで指定していませんでした。また、私の申請書のタイトルが残っています。ツールバー内の画像が正しく表示されます。私は彼らが表示されるようにするためにメニュー項目を膨らまなかったことに注意する
今では重要です:
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return true;
}
、メニュー/ main_menu.xml中:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
<item android:id="@+id/camera" android:title="Camera"
app:showAsAction="always"/>
<item android:id="@+id/logo" android:title="Logo"
app:showAsAction="always"/>
<item android:id="@+id/profile" android:title="Profile"
app:showAsAction="always"/>
</menu>
私が出た場合それらのアイテムを取り除くと、フライアウトメニューが消えます。つまり、ActionBarはツールバーに統合されているようです。しかし、私はどのようにツールバーのタイトルを取り除くのですか?私はどこから来ているのか分かりません。私の最終的な目標は、Instagramに似たツールバーを作成することです。左にはカメラのアイコンがあり、中央にはロゴが表示され、右には別のアイコンが表示されます。
あなた 'Toolbar'の'のsetTitleを( "") '呼び出してみましたか?ところで、あなたはInstagramが 'Toolbar'を使っていると思いますか? – CommonsWare
@CommonsWare私はそれを理解し、以下の回答を掲載しました。 Androidのドキュメントでは、ActionBar、ToolBar、App Barなどの用語をとてもゆっくりと投げ込み、初心者にはすべての概念を理解するのが難しいため、この質問はまだ開いています。私はついにそれをすべて理解し、うまくいけばそれは他の人に利益をもたらす。 – Donato
@CommonsWareとInstagramは他に何を使用していますか?私はホームページの画面について話しています。それは、左にカメラのアイコン、中央にロゴ、右に別のアイコンを持っています。なぜあなたはそれを達成するために何か他のものが必要でしょうか? – Donato