在运行时以编程方式删除ActionBar阴影

时间:2014-07-16 21:48:45

标签: android android-actionbar

可以使用主题和windowContentOverlay标记删除ActionBar阴影,但是是否可以在运行时从代码中动态删除并重新添加它?

同样的问题here,没有得到任何解决答案。

1 个答案:

答案 0 :(得分:0)

经过一段时间的努力,我能够为API编写解决方案> 21:

private ActionBar actionBar;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle instance) {
    // ...

    actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();

    return view;
}

@Override
public void onResume() {
    super.onResume();

    if (actionBar != null) {
        actionBar.setElevation(0);
    }
}

@Override
public void onPause() {
    super.onPause();

    if (actionBar != null) {
        actionBar.setElevation(getResources().getDimension(R.dimen.toolbar_elevation)); //8dp
    }
}

希望这个答案可以通过某种方式帮助你,虽然有一些你问的时候: