繁体   English   中英

操作栏后退按钮未在Android中显示

[英]Action Bar Back Button is not showing in Android

您好我已经创建了一个活动,它扩展了ActionBarActivity并在我的应用程序中使用了材质主题。 在操作栏中,不显示“后退”按钮。

我没有找到它为什么没有显示。 有帮助吗?

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>

提前致谢。

添加属性

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

显示“后退按钮”

如果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);
        }
    }
}

您的工具栏主题可能存在问题:

app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Light"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM