package com.wenming.weiswift.ui.unlogin.activity; import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.view.View; import android.widget.ImageView; import android.widget.RelativeLayout; import com.sina.weibo.sdk.auth.Oauth2AccessToken; import com.wenming.weiswift.R; import com.wenming.weiswift.ui.common.StatusBarUtils; import com.wenming.weiswift.ui.common.login.Constants; import com.wenming.weiswift.ui.unlogin.fragment.DiscoverFragment; import com.wenming.weiswift.ui.unlogin.fragment.HomeFragment; import com.wenming.weiswift.ui.unlogin.fragment.MessageFragment; import com.wenming.weiswift.ui.unlogin.fragment.ProfileFragment; import com.wenming.weiswift.utils.ToastUtil; /** * Created by wenmingvs on 16/5/9. */ public class UnLoginActivity extends AppCompatActivity { private static final int HOME_FRAGMENT = 0X001; private static final int MESSAGE_FRAGMENT = 0X002; private static final int DISCOVERY_FRAGMENT = 0X004; private static final int PROFILE_FRAGMENT = 0X005; private int mCurrentIndex; private Context mContext; private HomeFragment mHomeFragment; private MessageFragment mMessageFragment; private DiscoverFragment mDiscoverFragment; private ProfileFragment mProfileFragment; private FragmentManager mFragmentManager; private Oauth2AccessToken mAccessToken; private RelativeLayout mHomeTab, mMessageTab, mDiscoeryTab, mProfile; private ImageView mPostTab; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.unlogin_mainactivity_layout); mContext = this; mHomeTab = (RelativeLayout) findViewById(R.id.tv_home); mMessageTab = (RelativeLayout) findViewById(R.id.tv_message); mDiscoeryTab = (RelativeLayout) findViewById(R.id.tv_discovery); mProfile = (RelativeLayout) findViewById(R.id.tv_profile); mPostTab = (ImageView) findViewById(R.id.fl_post); mFragmentManager = getSupportFragmentManager(); setTabFragment(HOME_FRAGMENT); setUpListener(); // StatusBarUtils.from(this) // .setTransparentStatusbar(true) // .setStatusBarColor(Color.WHITE) // .setLightStatusBar(true) // .process(this); } private void setTabFragment(int index) { if (mCurrentIndex != index) { FragmentTransaction transaction = mFragmentManager.beginTransaction(); hideAllFragments(transaction); switch (index) { case HOME_FRAGMENT: mHomeTab.setSelected(true); if (mHomeFragment == null) { mHomeFragment = new HomeFragment(); transaction.add(R.id.contentLayout, mHomeFragment); } else { transaction.show(mHomeFragment); } mCurrentIndex = HOME_FRAGMENT; break; case MESSAGE_FRAGMENT: mMessageTab.setSelected(true); if (mMessageFragment == null) { mMessageFragment = new MessageFragment(); transaction.add(R.id.contentLayout, mMessageFragment); } else { transaction.show(mMessageFragment); } mCurrentIndex = MESSAGE_FRAGMENT; break; case DISCOVERY_FRAGMENT: mDiscoeryTab.setSelected(true); if (mDiscoverFragment == null) { mDiscoverFragment = new DiscoverFragment(); transaction.add(R.id.contentLayout, mDiscoverFragment); } else { transaction.show(mDiscoverFragment); } mCurrentIndex = DISCOVERY_FRAGMENT; break; case PROFILE_FRAGMENT: mProfile.setSelected(true); if (mProfileFragment == null) { mProfileFragment = new ProfileFragment(); transaction.add(R.id.contentLayout, mProfileFragment); } else { transaction.show(mProfileFragment); } mCurrentIndex = PROFILE_FRAGMENT; break; } transaction.commit(); } else if (mCurrentIndex == HOME_FRAGMENT && mHomeFragment != null) { } } private void hideAllFragments(FragmentTransaction transaction) { if (mHomeFragment != null) { transaction.hide(mHomeFragment); } if (mMessageFragment != null) { transaction.hide(mMessageFragment); } if (mDiscoverFragment != null) { transaction.hide(mDiscoverFragment); } if (mProfileFragment != null) { transaction.hide(mProfileFragment); } mHomeTab.setSelected(false); mMessageTab.setSelected(false); mDiscoeryTab.setSelected(false); mProfile.setSelected(false); } private void setUpListener() { mHomeTab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setTabFragment(HOME_FRAGMENT); } }); mMessageTab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setTabFragment(MESSAGE_FRAGMENT); } }); mPostTab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ToastUtil.showShort(mContext, "请先登录"); } }); mDiscoeryTab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setTabFragment(DISCOVERY_FRAGMENT); } }); mProfile.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setTabFragment(PROFILE_FRAGMENT); } }); } public void openLoginWebView(View view) { String authurl = "https://open.weibo.cn/oauth2/authorize" + "?" + "client_id=" + Constants.APP_KEY + "&response_type=token&redirect_uri=" + Constants.REDIRECT_URL + "&key_hash=" + Constants.AppSecret + (TextUtils.isEmpty(Constants.PackageName) ? "" : "&packagename=" + Constants.PackageName) + "&display=mobile" + "&scope=" + Constants.SCOPE; Intent intent = new Intent(mContext, WebViewActivity.class); intent.putExtra("url", authurl); startActivity(intent); finish(); } }