2

アクションバーの上に表示されているアクションアクションバータブで、この奇妙な動作が発生しています。これは、ActionBarのカスタムビューを設定しているときに発生します。ここでは、RomanNurikの例を使用してDone-Discardパターンを実装しています。

これは、setDisplayOptions()のActionBar.DISPLAY_SHOW_HOMEのマスキングが原因で発生しています。

final ActionBar actionBar = getActionBar();
    actionBar.setDisplayOptions(
            ActionBar.DISPLAY_SHOW_CUSTOM,
            ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME
                    | ActionBar.DISPLAY_SHOW_TITLE);
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    actionBar.setCustomView(customActionBarView, new ActionBar.LayoutParams(
            ViewGroup.LayoutParams.MATCH_PARENT,
            ViewGroup.LayoutParams.MATCH_PARENT));

画面は次のようになります。 ここに画像の説明を入力してください

しかし、ActionBar.DISPLAY_SHOW_HOMEをマスクしないと、正常に機能しますが、アプリのロゴは表示されます。このような。

ここに画像の説明を入力してください

これはバグのようです。修正を提案してください。ロゴを表示したくありません。

4

2 に答える 2

2

ここでの解決策:

ActionBarSherlock-カスタムビューでアクションバーの上に表示されるタブ

そしてここ:https ://github.com/JakeWharton/ActionBarSherlock/issues/327

これは私には少しハッキーに思えますが、回避策は次のとおりです。このコードをonCreateに追加し、ホームアイコンを非表示にします。これで、ActionBarとTabsが期待どおりに機能するようになりました。

ActionBar.setDisplayOptions()でDISPLAY_HOME_HOMEを無効化/マスクしないように注意してください。これは、マスク/無効化すると機能しません。

View homeIcon = findViewById(android.R.id.home);
        ((View) homeIcon.getParent()).setVisibility(View.GONE);
于 2012-12-04T12:19:54.623 に答える
1

まず、アクションバーの「DisplayShowHomeEnabled」プロパティを「true」に設定します。

actionBar.setDisplayShowHomeEnabled(true);

その後:

View homeIcon = findViewById(android.R.id.home);
    ((View) homeIcon.getParent()).setVisibility(View.GONE);
    ((View) homeIcon).setVisibility(View.GONE);

お役に立てば幸いです:)

于 2015-05-15T06:59:04.483 に答える