2016-04-10 5 views
0

私が始めてみる前に、私はAndroid Studio 2.1 5プレビューを持っていると伝えたいと思います。だから私が持っている問題は、アクションボタンを追加することです。私はチュートリアルと一緒に行った後、私は、このコードに到着したのでAndroidがアクションボタンを追加しています

http://developer.android.com/intl/es/training/appbar/actions.html#add-actions

:と私は公式のdevのドキュメントからこのチュートリアルに従っ

MainActivity.java:

package com.example.amanuel.actionbar; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.support.v7.widget.Toolbar; 
import android.support.v7.widget.ToolbarWidgetWrapper; 
import android.view.MenuItem; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Toolbar toolbar = (Toolbar)findViewById(R.id.my_toolbar); 
     toolbar.setLogo(R.mipmap.ic_launcher); 
     toolbar.setLogoDescription("Logo"); 
     setSupportActionBar(toolbar); 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case R.id.action_settings: 
     // User chose the "Settings" item, show the app settings UI... 
     return true; 

     case R.id.action_favorite: 
     // User chose the "Favorite" action, mark the current item 
     // as a favorite... 
     return true; 

     default: 
     // If we got here, the user's action was not recognized. 
     // Invoke the superclass to handle it. 
     return super.onOptionsItemSelected(item); 

    } 
    } 
} 

のres/menu/menu.xml:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 
    <!-- "Mark Favorite", should appear as action button if possible --> 
    <item 
    android:id="@+id/action_favorite" 
    android:icon="@mipmap/ic_favorite_black_48dp" 
    android:title="@string/action_favorite" 
    app:showAsAction="ifRoom"/> 

    <!-- Settings, should always be in the overflow --> 
    <item android:id="@+id/action_settings" 
    android:title="@string/action_settings" 
    app:showAsAction="never"/> 
</menu> 

AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.amanuel.actionbar" > 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/Theme.AppCompat.Light.NoActionBar" > 
     <activity android:name=".MainActivity" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    tools:context="com.example.amanuel.actionbar.MainActivity"> 

    <android.support.v7.widget.Toolbar 
    android:id="@+id/my_toolbar" 
    android:layout_width="fill_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    android:elevation="4dp" 
    android:theme="@style/ThemeOverlay.AppCompat.ActionBar" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
    android:layout_alignParentStart="true" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentEnd="true" /> 

</RelativeLayout> 

だから私はこのすべてを入れて、genymotion上でそれを実行する私はこれを取得します。okまあ

enter image description here

を、私は私のアクションバーを取得しかし、世界で私のアクションボタンはどこですか?それはDEVドキュメント上を見せてくれたように:

enter image description here

はまた、私はアクションバーが真ん中にある理由を理解しない...その通常の通常のツールバーのように、一番上にあることを仮定します。これは私を混乱させるだけです、助けてください。ありがとうございました!

答えて

1

menu.xmlリソースを参照するものはありません。

onCreateOptionsMenu()を上書きし、getMenuInflater().inflate(menu, R.menu.menu)を使用してください。

+0

大変感謝しています!ただ1つの簡単な質問...アクションバーがページの上部に少し下に来る理由を知っていますか?通常のツールバーのように上になるようにすることはできますか? – amanuel2

+0

@AmanuelBogale:「appcompat-v7」バックポートだけでなく、「ツールバー」をあまり使用していないにもかかわらず、あなたの頭が浮かんでいる理由は分かりません。 – CommonsWare

+0

ああよく.....私はそれを検索する必要があると思う。 – amanuel2

関連する問題