动态更改创建视图上的片段背景

时间:2016-10-24 11:31:47

标签: android android-fragments

我想动态更改加载时的片段背景,下面的代码为我做了这个,但我在运行时遇到了问题,那就是在显示默认背景的片段后发生了背景更改。

例如,当我想要滑动以加载另一个片段时,On转换片段会显示默认背景设置,并在加载片段并稍等片刻后代码在第一次加载时工作。

我想知道我错在哪里

  @Override
    public void setUserVisibleHint(boolean visible){
        super.setUserVisibleHint(visible);
        View view=RegisterFragment.this.getView();
        if (view!=null)
        {
            RelativeLayout layout= (RelativeLayout) view.findViewById(R.id.back_layout);
            layout.setBackgroundResource(Application.color);
        }
    }
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view= inflater.inflate(R.layout.fragment_register, container, false);
        view.findViewById(R.id.back_layout).setBackgroundResource(Application.color);
        return view;
    }

2 个答案:

答案 0 :(得分:1)

您可以覆盖以下方法,该方法可以帮助您在加载片段时更新UI运行时:

@Override
    public void setMenuVisibility(boolean menuVisible) {

       layout.setBackgroundResource(Application.color);

} 

答案 1 :(得分:0)