2014-10-29 47 views
9

嗨我創建了一個活動,它擴展了ActionBarActivity &在我的應用程序中使用了材質主題。在操作欄中,後退按鈕不顯示。在Android中沒有顯示Action Bar後退按鈕

我沒有找到它爲什麼沒有顯示。任何幫助?

public class RegistrationActivity extends ActionBarActivity { 

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

     getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.ab_background_light)); 
     getSupportActionBar().setDisplayShowHomeEnabled(true); 
     getSupportActionBar().setHomeButtonEnabled(true); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

style.xml

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <!--Support Library compatibility--> 
    <item name="actionBarStyle">@style/MyTheme.ActionBarStyle</item> 
</style> 

<!-- ActionBar styles --> 
<style name="MyTheme.ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar"> 
    <!--Support Library compatibility--> 
    <item name="titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item> 
</style> 

<style name="MyTheme.ActionBar.TitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"> 
    <item name="android:textColor">@android:color/white</item> 
</style> 

AndroidManifest.xml中

<activity 
     android:name=".RegistrationActivity" 
     android:label="@string/title_activity_registration" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value=".HomeScreenActivity" /> 
    </activity> 

在此先感謝。

+1

使用'Theme.AppCompat.Light.DarkActionBar'如果你想圖標/文本在白色出現在動作條。 – ianhanniballake 2014-10-29 18:23:34

+0

@ianhanniballake是的,謝謝:) – 2014-10-29 18:24:35

回答

26

添加屬性

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

,顯示 「返回」 按鈕

+0

這已經完成,從問題可以看出。 – 2017-06-25 17:12:35

2

如果Jorgesys的解決方案不適合你的工作。嘗試覆蓋onOptionsItemSelected方法。

public class MyActivity extends AppCompatActivity 
{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.my_activity); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) 
    { 
     int id = item.getItemId(); 
     if (id == android.R.id.home) 
     { 
      onBackPressed(); 
      return true; 
     } 
     else 
     { 
      return super.onOptionsItemSelected(item); 
     } 
    } 
}