2016-04-11 17 views
1

私は、右隅に1つの画像を配置したアクションバーを作成しました。ユーザーがクリックすると表示されるメニュー項目を追加したいです。これはスピナーのようなものです。イメージクリックでメニュー項目を表示する方法は?

手順やコードを教えてもらえますか?

Activity.xml:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/layout1"> 
    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="@color/red"> 
     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="left" 
      android:src="@drawable/pic13" /> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:text="User Profile" 
      android:textSize="20sp" 
      android:textColor="@android:color/white" /> 
     <ImageView 
      android:id="@+id/selectItems" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:textColor="#456789" 
      android:popupBackground="@color/title" 
      android:background="@drawable/ic_action_overflow"/> 
    </android.support.v7.widget.Toolbar> 

メニュー/ item.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"> 

    <item 
     android:id="@+id/gamepad" 
     android:title="@string/gamepad" 
     android:icon="@drawable/gamepad" 
     app:showAsAction="ifRoom|withText" 
     /> 

</menu> 

活動:私は間違っていないよ場合

package com.example.vimal.edkul; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuInflater; 
import android.view.View; 

public class UserAccordion extends AppCompatActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
} 

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.actionbar, menu); 
     return super.onCreateOptionsMenu(menu); 
    } 
} 

答えて

0

、あなたが欠落している可能性があり、いくつかのClickListenersことユーザーがあなたのボタンをクリックするのを聞きます。

Iは

package com.javacodegeeks.androidtoolbarexample; 

import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.widget.Toast; 

public class AndroidToolbarExample extends AppCompatActivity { 

Toolbar toolbar; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    initToolBar(); 

} 

public void initToolBar() { 
    toolbar = (Toolbar) findViewById(R.id.toolbar); 
    toolbar.setTitle(R.string.toolbarTitle); 

    setSupportActionBar(toolbar); 

    toolbar.setNavigationIcon(R.drawable.ic_toolbar_arrow); 
    toolbar.setNavigationOnClickListener(
      new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 

        ****** HERE ******* 
        //implement your click stuff here 
        switch(v.getId()) { 
         case R.id.selectItems: 
          .... 
         break; 

        } 

       } 
      } 

    ); 
    } 
} 
AndroidToolbarExample.java javacodegeeks

からこれらのコードを参照

関連する問題