2013-04-25 43 views

回答

18

自Android 4.2.2以來,標題可與圖標一起點擊。 WhatsApp使用自定義視圖來顯示雙行標題。這會禁用標題點擊。你可以做同樣的方式:

ActionBar actionBar = getSupportActionBar(); 
actionBar.setDisplayHomeAsUpEnabled(true); 
actionBar.setDisplayShowTitleEnabled(false); 
actionBar.setDisplayShowCustomEnabled(true); 
actionBar.setCustomView(R.layout.ab_title); 

TextView title = (TextView) findViewById(android.R.id.text1); 
title.setText("Title"); 

/res/layout/ab_title.xml:

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="@style/TextAppearance.Sherlock.Widget.ActionBar.Title" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:ellipsize="end" 
    android:gravity="center_vertical" /> 
+0

完美答案,謝謝。我一直想知道爲什麼nexus 4也可以使標題可點擊。 – xLite 2013-12-05 18:41:02

+0

謝謝,工程就像一個魅力 – AAnkit 2013-12-06 05:34:20

7

以下內容添加到您的onCreate方法:

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

,並在您的活動定義以下重寫方法:

@Override 
public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) { 
    switch (item.getItemId()) { 
    case android.R.id.home: 
     onBackPressed(); 
     break; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
    return true; 
} 
+4

但它也使活動標題點擊。 – Ravi 2013-04-25 08:44:24

+0

你確定嗎?因爲它不會在我的應用程序中執行此操作 – waqaslam 2013-04-25 08:47:09

+0

我可以發佈代碼以確保我在寫代碼 – Ravi 2013-04-25 09:10:29

0

我的朋友,我覺得這是Android版本/構建「功能」 ,因爲我有兩個設備(Nexus S和Nexus 7)(Android 4.1.2和Android 4.2.2),我正在部署我在兩個設備上開發的應用程序,同樣的確切代碼,在Nexus S上,圖標是「up 「,在Nexus 7上,圖標和標題都是」up「。

+0

我可以看到的一種方式是創建自己的自定義ActionBar佈局/視圖。假定這是值得的工作。 – LuckyMe 2013-04-25 09:05:21

0

確保你的安卓的minSdkVersion = 「11」,這可能在清單文件中可以看出,向上圖標已包含在APK中11.將以下內容添加到您的onCreate方法中將主頁放入getActionBar()。setDisplayHomeAsUpEnabled(false);確保它是假的,並在其他活動,你保持啓用我,é「真實」。我做了一個小樣本PLZ嘗試下面的鏈接可以幫助您剛纔導入到你的工作空間

http://www.mediafire.com/?hktdvts7yyduwv1