2014-10-29 65 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); 
     } 
    } 
}