如何删除自定义ActionBar中的边距和应用程序图标?

时间:2015-04-17 17:00:31

标签: android android-actionbar relativelayout margin fill-parent

我使用自定义ActioBar创建了一个应用程序。它可以工作,但不适用于所有设备。在联想 k990 上,它不正确。 - 对不起 - 联想 k900

看起来应该是这样的

第一个变种

 ViewGroup actionBarLayout = (ViewGroup) getLayoutInflater().inflate(R.layout.action_bar_category, null);
    ActionBar actionBar = getActionBar();
    if (actionBar != null) {
        actionBar.setDisplayShowHomeEnabled(false);
        actionBar.setDisplayUseLogoEnabled(false);
        actionBar.setDisplayShowTitleEnabled(false);
        actionBar.setDisplayShowCustomEnabled(true);
        actionBar.setCustomView(actionBarLayout);
    }

第二个变种

  ActionBar actionBar = getActionBar();
    if (actionBar != null) {
        actionBar.setDisplayShowHomeEnabled(false);
        actionBar.setDisplayShowTitleEnabled(false);
        actionBar.setDisplayShowCustomEnabled(true);
        actionBar.setCustomView(R.layout.action_bar_category);
    }
    View actionBarLayout = actionBar.getCustomView();
    ViewGroup.LayoutParams lp = actionBarLayout.getLayoutParams();
    lp.width = ViewGroup.LayoutParams.MATCH_PARENT;
    actionBarLayout.setLayoutParams(lp);

第三种变体

 ViewGroup actionBarLayout = (ViewGroup) getLayoutInflater().inflate(R.layout.action_bar_main_menu, null);
    ActionBar actionBar = getActionBar();
    if(actionBar!= null){
        actionBar.setDisplayShowHomeEnabled(false);
        actionBar.setDisplayHomeAsUpEnabled(false);
        actionBar.setDisplayUseLogoEnabled(false);
        actionBar.setDisplayShowTitleEnabled(false);
        actionBar.setDisplayShowCustomEnabled(true);
        actionBar.setHomeButtonEnabled(false);
        actionBar.setLogo(null);
        actionBar.setCustomView(actionBarLayout);

        View v = actionBar.getCustomView();
        ViewGroup.LayoutParams lp = v.getLayoutParams(); 
        lp.width = ViewGroup.LayoutParams.MATCH_PARENT;
        v.setLayoutParams(lp);
    }

你能帮助我吗?

0 个答案:

没有答案