HomeFragment.java 4.95 KB
package com.studymachine.www.ui.fragment;

import android.content.Intent;
import android.provider.Settings;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;

import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;

import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.engine.GlideException;
import com.bumptech.glide.load.resource.gif.GifDrawable;
import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target;
import com.hjq.base.BaseAdapter;
import com.studymachine.www.R;
import com.studymachine.www.app.AppFragment;
import com.studymachine.www.http.glide.GlideApp;
import com.studymachine.www.other.WebUrlConfig;
import com.studymachine.www.ui.activity.AccurateListActivity;
import com.studymachine.www.ui.activity.AiListActivity;
import com.studymachine.www.ui.activity.ArenaListActivity;
import com.studymachine.www.ui.activity.BrowserActivity;
import com.studymachine.www.ui.activity.HomeActivity;

import com.studymachine.www.ui.activity.PersonalCenterActivity;
import com.studymachine.www.ui.activity.RecordActivity;
import com.studymachine.www.ui.activity.SwfActivity;
import com.studymachine.www.ui.adapter.NavigationAdapter;


/**
 * desc   : 首页fragment
 */
public final class HomeFragment extends AppFragment<HomeActivity> implements BaseAdapter.OnItemClickListener {


    private RecyclerView mNavigationView;
    private NavigationAdapter mNavigationAdapter;
    private ImageView mIvAi;

    public static HomeFragment newInstance() {
        return new HomeFragment();
    }

    @Override
    protected int getLayoutId() {
        return R.layout.home_fragment;
    }

    @Override
    protected void initView() {
        mNavigationView = findViewById(R.id.rc_nav_bar);
        mIvAi = findViewById(R.id.iv_ai);
        mNavigationAdapter = new NavigationAdapter(getAttachActivity());
        mNavigationAdapter.addItem(new NavigationAdapter.MenuItem(ContextCompat.getDrawable(getAttachActivity(), R.drawable.home_tab_error)));
        mNavigationAdapter.addItem(new NavigationAdapter.MenuItem(ContextCompat.getDrawable(getAttachActivity(), R.drawable.home_tab_file)));
        mNavigationAdapter.addItem(new NavigationAdapter.MenuItem(ContextCompat.getDrawable(getAttachActivity(), R.drawable.home_tab_me)));
        mNavigationAdapter.addItem(new NavigationAdapter.MenuItem(ContextCompat.getDrawable(getAttachActivity(), R.drawable.home_tab_setting)));
        mNavigationAdapter.addItem(new NavigationAdapter.MenuItem(ContextCompat.getDrawable(getAttachActivity(), R.drawable.home_tab_eye)));

        mNavigationAdapter.setOnItemClickListener(this);

        mNavigationView.setAdapter(mNavigationAdapter);

        GlideApp.with(this)
                .asGif()
                .load(R.drawable.home_al_icon)
                .listener(new RequestListener<GifDrawable>() {
                    @Override
                    public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<GifDrawable> target, boolean isFirstResource) {
                        return false;
                    }

                    @Override
                    public boolean onResourceReady(GifDrawable resource, Object model, Target<GifDrawable> target, DataSource dataSource, boolean isFirstResource) {
                        resource.setLoopCount(GifDrawable.LOOP_INTRINSIC); //设置次数
                        return false;
                    }
                })
                .into(mIvAi);


        setOnClickListener(mIvAi);
        setOnClickListener(R.id.iv_accurate, R.id.iv_athletics);
    }

    @Override
    protected void initData() {
    }

    @Override
    public void onClick(View view) {
        if (view == mIvAi) {
            AiListActivity.start(getContext());
        } else if (view.getId() == R.id.iv_athletics) {
            //知识竞技
            ArenaListActivity.start(getContext());
        } else if (view.getId() == R.id.iv_accurate) {
            //精准练习
            AccurateListActivity.start(getContext());
        }
    }


    @Override
    public void onDestroy() {
        super.onDestroy();
    }

    @Override
    public void onItemClick(RecyclerView recyclerView, View itemView, int position) {
        switch (position) {
            case 0:
//                SwfActivity.start(getContext());
                BrowserActivity.start(getContext(), WebUrlConfig.wrongTopicReceive());
                break;
            case 1:
                RecordActivity.start(getContext());
                break;
            case 2:
                PersonalCenterActivity.start(getContext());
                break;
            case 3:
                startActivity(new Intent(Settings.ACTION_SETTINGS));
                break;
            case 4:
                startActivity(new Intent(Settings.ACTION_DISPLAY_SETTINGS));
                break;
            default:
                break;
        }
    }
}