2015-08-17 43 views
0

我正在研究一個應用程序,該應用程序在用戶按下應用程序圖標(位於操作欄左側)時會下拉菜單。不過,我在使應用程序圖標可點擊時遇到了困難。我得到的結果是使用:Android Studio:應用程序圖標

actionBar.setDisplayHomeAsUpEnabled() 

但是,這並不能使我的應用程序圖標點擊,而是應用左箭頭。

代碼:

android.support.v7.app.ActionBar actionBar = getSupportActionBar(); 
actionBar.setDisplayHomeAsUpEnabled(true); 
actionBar.setDisplayShowHomeEnabled(true); 
actionBar.setIcon(R.mipmap.ic_launcher); 
+0

你可以發佈圖片你的操作欄帶有圖標? –

+0

我認爲您需要爲您的操作欄設置一個自定義視圖,並將您的應用圖標的imageView作爲按鈕進行響應。 –

回答

0

創建你的動作條自定義視圖像下面並修改它爲您的需求:

Java代碼:

ActionBar actionBar = getSupportActionBar(); 
actionBar.setDisplayHomeAsUpEnabled(true); 
actionBar.setDisplayShowHomeEnabled(true); 
actionBar.setDisplayShowCustomEnabled(true); 
actionBar.setDisplayShowTitleEnabled(false); 
actionBar.setIcon(android.R.color.transparent); 

LayoutInflater inflater = (LayoutInflater) this .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
View view = inflater.inflate(R.layout.actonbar_layout, null); 

actionBar.setCustomView(view); 

ImageView appIcon = (ImageView) view.findViewById(R.id.appIcon); 
appIcon.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     // Open your menu here... 
    } 
}); 

actionbar_layout.xml:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="fill_horizontal" 
    android:orientation="horizontal" 
    android:focusable="true"> 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right|center_vertical" 
      android:clickable="true" 
      android:id="@+id/appIcon" 
      android:src="@mipmap/ic_launcher" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:text="@string/app_name" 
      android:textColor="#FFFFFF" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:id="@+id/appName" /> 

</LinearLayout>