ActionBar:如何正确设置home home_as_up_indicator?

时间:2015-02-13 10:50:33

标签: android android-actionbar

我尝试在样式中将cusom drawable设置为home_as_up_indicator,而不是显示默认操作栏箭头。我的代码:

活性

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

    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);

式:

<style name="MyTheme" parent="Theme.AppCompat">
    <item name="android:homeAsUpIndicator">@drawable/home_as_up_indicator</item>
</style>

清单:

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyTheme" >
<activity
    android:name=".MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
</application>

P.S。:它只适用于在代码中设置家庭指示器但不满意我:

getSupportActionBar().setHomeAsUpIndicator(R.drawable.home_as_up_indicator);

2 个答案:

答案 0 :(得分:1)

您可以尝试以下代码

<style name="MyTheme" parent="parent="@style/Theme.Sherlock.Light">
    <item name="android:homeAsUpIndicator">@drawable/home_as_up_indicator</item>
    <item name="homeAsUpIndicator">@drawable/home_as_up_indicator</item>
</style>

如果它不起作用,那么你可以提供AndroidManifest文件中提到的targetSdkVersion和minSDKVersion。 它可能有助于进行更多分析。

答案 1 :(得分:0)

很简单。使用下面的代码行:)

getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_launcher);