334-浅析LichLotter

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33781658/article/details/89229586
package com.lich.lichlotter.activity;

import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.lich.lichlotter.R;
import com.lich.lichlotter.fragment.CommentFragment;
import com.lich.lichlotter.fragment.MainFragment;
import com.lich.lichlotter.fragment.MeFragment;
import com.lich.lichlotter.other.AppConfig;
import com.lich.lichlotter.util.ColorUtil;
import com.lich.lichlotter.util.SettingsUtil;
import com.umeng.analytics.MobclickAgent;

import java.util.ArrayList;

/**
 * Created by lichhowger on 2018/12/7.
 */

public class MainAct extends BaseActivity {

    private FrameLayout fl_content;
    private LinearLayout ll_main;
    private LinearLayout ll_comment;
    private LinearLayout ll_me;
    private MainFragment mainFragment;
    private CommentFragment commentFragment;
    private MeFragment meFragment;
    private ImageView iv_main;
    private ImageView iv_comment;
    private ImageView iv_me;
    private TextView tv_main;
    private TextView tv_comment;
    private TextView tv_me;
    private ImageView iv_title_img_left;

    @Override
    public int getLayoutId() {
        return R.layout.act_main;
    }

    @Override
    public void initViews() {
        fl_content = (FrameLayout) findViewById(R.id.fl_content);
        ll_main = (LinearLayout) findViewById(R.id.ll_main);
        ll_comment = (LinearLayout) findViewById(R.id.ll_comment);
        ll_me = (LinearLayout) findViewById(R.id.ll_me);

        initFragments();

        initButtons();

        //如果列表1没有数据,那自己存一个吧
        setDefaultData();

        clickButton(0);

        //设置title
        setTitle(0);
    }

    public void otherFunction(View view) {
        startActivity(FunctionActivity.class);
    }

    public void setDefaultData() {
        if (SettingsUtil.getSize() == 0) {
            ArrayList<String> list = new ArrayList<>();
            for (int i = 1; i <= 5; i++) {
                String string = "选项" + i;
                list.add(string);
            }
            SettingsUtil.add(list);
        }
    }

    private void initButtons() {
        ll_main.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                clickButton(0);
            }
        });

        ll_comment.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                clickButton(1);
            }
        });

        ll_me.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                clickButton(2);
            }
        });

        iv_main = (ImageView) findViewById(R.id.iv_main);
        iv_comment = (ImageView) findViewById(R.id.iv_comment);
        iv_me = (ImageView) findViewById(R.id.iv_me);
        tv_main = (TextView) findViewById(R.id.tv_main);
        tv_comment = (TextView) findViewById(R.id.tv_comment);
        tv_me = (TextView) findViewById(R.id.tv_me);
    }

    public void clickButton(int i) {
        clearButtonAndPage();
        selectButton(i);
        selectPage(i);
        setTitle(i);
        setTitleImgLeft(i);
    }

    private void selectButton(int i) {
        if (i == 0) {
            iv_main.setImageResource(R.mipmap.home_blue);
            tv_main.setTextColor(ColorUtil.getColor(R.color.color_theme_blue));
        } else if (i == 1) {
            iv_comment.setImageResource(R.mipmap.comment_blue);
            tv_comment.setTextColor(ColorUtil.getColor(R.color.color_theme_blue));
        } else if (i == 2) {
            iv_me.setImageResource(R.mipmap.me_blue);
            tv_me.setTextColor(ColorUtil.getColor(R.color.color_theme_blue));
        }
    }

    private void selectPage(int i) {
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
        if (i == 0) {
            transaction.show(mainFragment);
        } else if (i == 1) {
            transaction.show(commentFragment);
        } else if (i == 2) {
            transaction.show(meFragment);
        }
        transaction.commitAllowingStateLoss();
    }

    public void clearButtonAndPage() {
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
        transaction.hide(mainFragment);
        transaction.hide(commentFragment);
        transaction.hide(meFragment);
        transaction.commitAllowingStateLoss();

        iv_main.setImageResource(R.mipmap.home_gray);
        iv_comment.setImageResource(R.mipmap.comment_gray);
        iv_me.setImageResource(R.mipmap.me_gray);
        tv_main.setTextColor(ColorUtil.getColor(R.color.c_bfbfbf));
        tv_comment.setTextColor(ColorUtil.getColor(R.color.c_bfbfbf));
        tv_me.setTextColor(ColorUtil.getColor(R.color.c_bfbfbf));
    }

    private void initFragments() {
        mainFragment = new MainFragment();
        commentFragment = new CommentFragment();
        meFragment = new MeFragment();
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
        transaction.add(R.id.fl_content, mainFragment, "main");
        transaction.add(R.id.fl_content, commentFragment, "comment");
        transaction.add(R.id.fl_content, meFragment, "me");
        transaction.commitAllowingStateLoss();
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        if (meFragment != null) {
            if (requestCode == meFragment.CODE_PERMISSION) {
                meFragment.getHandler().sendEmptyMessage(meFragment.CODE_SHOW_DIALOG);
            }
        }
    }

    public void setTitle(int i) {
        if (i == 0) {
            setTitleText("抽签");
            setTitleImg(R.mipmap.nothing);
            setTitleImgClick(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                }
            });
//            setTitleImg(R.mipmap.add_white);
//            setTitleImgClick(new View.OnClickListener() {
//                @Override
//                public void onClick(View v) {
//                    startActivity(LotterMenuActivity.class);
//                }
//            });
        } else if (i == 1) {
            setTitleText("留言");
            setTitleImg(R.mipmap.comment_white);
            setTitleImgClick(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(ctx, CommentActivity.class);
                    intent.putExtra("reply", 0);
                    intent.putExtra("replyName", "");
                    startActivity(intent);
                }
            });
        } else if (i == 2) {
            setTitleText("我的");
            setTitleImg(R.mipmap.more_white);
            setTitleImgClick(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    startActivity(FunctionActivity.class);
                }
            });
        }
    }

    private void setTitleImgLeft(int i) {
        View view = findViewById(R.id.iv_title_img_left);

        if (iv_title_img_left == null) {
            if (view != null && view instanceof ImageView) {
                iv_title_img_left = (ImageView) view;
            }
        }

        if (iv_title_img_left == null) {
            return;
        }

        if (i == 0) {
            iv_title_img_left.setImageResource(R.mipmap.nothing);
            iv_title_img_left.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                }
            });
        } else if (i == 1) {
            iv_title_img_left.setImageResource(R.mipmap.love_white);
            iv_title_img_left.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    showReminderDialog("想聊天交朋友的小伙伴\r\n可以加QQ群哦: 490374138");
                    MobclickAgent.onEvent(ctx, AppConfig.EVENT_COMMENT_LIST_LOVE);
                }
            });
        } else if (i == 2) {
            iv_title_img_left.setImageResource(R.mipmap.nothing);
            iv_title_img_left.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                }
            });
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_33781658/article/details/89229586