16

Stackoverflowの他のすべての回答でここに記載されているすべてを試しましたが、うまくいきません。これが私のコードです。

actionBar = getActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#ffffff")));
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(R.layout.actionbar_layout);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setLogo(null);
actionBar.setDisplayShowTitleEnabled(false);
View homeIcon = findViewById(android.R.id.home);
((View) homeIcon.getParent()).setVisibility(View.GONE);
4

4 に答える 4

38

ホーム項目を非表示にすると、タブが一番上に表示されます。少し直感に反しますが、デザイン的にも理にかなっています。基本的に、タブをセクションのタイトルとして使用し、その下のアクション バーをセクション内のアクションに使用するよう促しています。

setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME)タブをもう一度下げる必要があります。null 以外のロゴも必要になるでしょう (-nodpi で 1px の透過ロゴを作成して非表示にすることができます)。

于 2013-10-08T07:21:25.483 に答える
2
getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME); 
        getActionBar().setDisplayUseLogoEnabled(true);
        getActionBar().setDisplayShowCustomEnabled(true);
        getActionBar().setCustomView(R.layout.actionbar_layout);

これは私にとってはうまくいきました。

于 2014-04-09T11:50:25.567 に答える
1

LayoutInflaterビューを膨張させてから、ビューをアクションバーに設定してみてください。

    LayoutInflater inflator = (LayoutInflater) this
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View v = inflator.inflate(R.layout.layout, null);
    actionBar.setCustomView(v);

そしてこれから

メイン コンテナーとして LinearLayout の代わりに RelativeLayout を使用します。android:layout_gravity="fill_horizo​​ntal" を設定することが重要です。それはそれを行う必要があります。

于 2013-10-08T07:00:44.740 に答える