CommonFragment.java 2.86 KB

package com.wd.display.ui.fragment;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.people.common.constant.IntentConstants;
import com.people.component.R;
import com.people.component.comp.page.ItemNoTitleLayoutManager;
import com.people.entity.custom.MenuBean;
import com.wd.base.log.Logger;
import com.wd.foundation.wdkit.base.BaseLazyFragment;
import com.wondertek.wheat.ability.tools.SafeBundleUtil;

/**
 * 常见碎片
 *
 * @version 1.0.0
 * @description:
 * @author: liyubing
 * @date :2023/2/3 15:25
 */
public class CommonFragment extends BaseLazyFragment {// channelFragment

    private static final String TAG = "CommonFragment";

    private String mPageId;

    private MenuBean pageObj;

    private FrameLayout mRootView;

    private ItemNoTitleLayoutManager mLayoutManager;

    private View pageView;

    /**
     * 获取Fragment实例对象
     *
     * @param bean 数据id
     * @return Fragment实例
     */
    public static CommonFragment newInstance(MenuBean bean) {
        CommonFragment fragment = new CommonFragment();
        Bundle bundle = new Bundle();
        bundle.putSerializable(IntentConstants.PARAM_PAGE_OBJ, bean);
        fragment.setArguments(bundle);
        return fragment;
    }

    @Override
    protected String getLogTag() {
        return TAG;
    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        initViewModel();
        pageObj = (MenuBean) SafeBundleUtil.getSerializable(getArguments(), IntentConstants.PARAM_PAGE_OBJ);
        if (pageObj != null) {
            mPageId = pageObj.getPageId();
        }
    }

    @Override
    protected int getLayout() {
        return R.layout.fragment_main;
    }

    @Override
    protected void initView(View view) {
        mRootView = ViewUtils.findViewById(view, R.id.container);
        initPageView(mRootView);
    }

    @Override
    protected void lazyLoadData() {
        initData();
    }

    private void initViewModel() {

    }

    private void initPageView(@NonNull ViewGroup rootView) {
        Logger.t(TAG).i("initNavBar");
        mLayoutManager = new ItemNoTitleLayoutManager();
        pageView = LayoutInflater.from(getContext()).inflate(mLayoutManager.getItemViewType(), rootView, false);
        rootView.removeView(pageView);
        rootView.addView(pageView);
    }

    private void initData() {

        int status_height = StatusBarCompat.getStatusBarHeight(getActivity());
        pageObj.setTopMargin(status_height);
        mLayoutManager.setFragment(this);
        mLayoutManager.prepareItem(mRootView, 0);
        mLayoutManager.bindItem(mRootView, 0, pageObj);

    }
}