setDisplayHomeAsUpEnabled使用style属性

时间:2017-04-07 22:59:52

标签: android android-styles

是否可以使用AppCompatActivity指定getSupportActionBar().setDisplayHomeAsUpEnabled(true)使用样式,而不是以编程方式执行此操作?

我可以指定drawable本身,但是如何使用样式启用它?

<style name="MyActivityTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="actionBarTheme">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="homeAsUpIndicator">@drawable/ic_clear</item>
    <!-- Enable the above using a style attribute -->
</style>

2 个答案:

答案 0 :(得分:2)

风格:

<style name="MyActionBarStyle" parent="Widget.AppCompat.Light.ActionBar.Solid">
    <item name="displayOptions">showTitle|homeAsUp</item>
</style>

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    ...
    <item name="actionBarStyle">@style/MyActionBarStyle</item>
</style>

将使用箭头启动活动:

enter image description here

答案 1 :(得分:1)

无法通过xml启用它。您只能在清单中设置父活动:

 <activity
        android:name=".CurrentActivity"
        android:label="@string/app_name"
        android:parentActivityName=".MainActivity" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".MainActivityy" />
    </activity>

但你无法通过xml启用它。无论如何它只是一行代码。