From 1e48fa578af76b13d978841567e830febb583bd7 Mon Sep 17 00:00:00 2001 From: lh <1209405678@qq.com> Date: Tue, 28 Nov 2017 10:02:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A1=86=E6=9E=B6=E6=90=AD=E5=BB=BA=E9=85=8D?= =?UTF-8?q?=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/qhclh/ytzh/home/MainActivity.java | 189 +++++++++++++++++- app/src/main/res/layout/act_main.xml | 19 +- app/src/main/res/layout/fragment_index.xml | 1 + app/src/main/res/layout/fragment_me.xml | 4 +- app/src/main/res/layout/fragment_work.xml | 4 +- app/src/main/res/layout/include_line.xml | 2 +- app/src/main/res/layout/include_tab_bar.xml | 30 +-- app/src/main/res/values/colors.xml | 12 +- app/src/main/res/values/dimens.xml | 6 +- app/src/main/res/values/strings.xml | 6 +- app/src/main/res/values/styles.xml | 2 +- 11 files changed, 235 insertions(+), 40 deletions(-) diff --git a/app/src/main/java/com/qhclh/ytzh/home/MainActivity.java b/app/src/main/java/com/qhclh/ytzh/home/MainActivity.java index 2b7d37f..4294f44 100644 --- a/app/src/main/java/com/qhclh/ytzh/home/MainActivity.java +++ b/app/src/main/java/com/qhclh/ytzh/home/MainActivity.java @@ -1,20 +1,54 @@ package com.qhclh.ytzh.home; +import android.support.v4.app.FragmentTransaction; import android.support.v7.widget.Toolbar; import android.view.View; +import android.widget.ImageView; import android.widget.TextView; import com.qhclh.ytzh.R; import com.qhclh.ytzh.base.BaseActivity; +import com.qhclh.ytzh.index.IndexFragment; +import com.qhclh.ytzh.me.MeFragment; +import com.qhclh.ytzh.work.WorkFragment; import butterknife.BindView; +import butterknife.OnClick; public class MainActivity extends BaseActivity { - @BindView(R.id.textaaa) - TextView textView; - @BindView(R.id.toolbar) Toolbar mToolbar; + @BindView(R.id.tv_toolbar_title) + TextView mTvToolbarTitle; + + @BindView(R.id.iv_index) + ImageView iv_index; + @BindView(R.id.tv_index) + TextView tv_index; + @BindView(R.id.iv_work) + ImageView iv_work; + @BindView(R.id.tv_work) + TextView tv_work; + @BindView(R.id.iv_me) + ImageView iv_me; + @BindView(R.id.tv_me) + TextView tv_me; + + + private long mLastClickTime; + private static final long DEFAULT_EXIT_TIME = 2000; + ///< 首页 + private static final int TAB_POSITION_INDEX = 0; + ///< 工作 + private static final int TAB_POSITION_WORK = 1; + ///< 我的 + private static final int TAB_POSITION_ME = 2; + private int mCurrentTabPosition = -1; + private int mTargetTabPosition = TAB_POSITION_INDEX; + + private IndexFragment indexFragment; + private WorkFragment workFragment; + private MeFragment meFragment; @Override protected int setLayoutId() { @@ -23,21 +57,156 @@ public class MainActivity extends BaseActivity { @Override protected void initView() { - initToolbar(mToolbar, "aaaaa", new View.OnClickListener() { - @Override - public void onClick(View view) { - finish(); - } - }); + initToolbar(mToolbar, "", null); + ///< 点击切换fragment + onTabClick(mTargetTabPosition); } @Override protected void initData() { - textView.setText("aaaaaaaaaaa"); } @Override protected void initOper() { } + + @OnClick({R.id.ll_index, R.id.ll_work, R.id.ll_me}) + public void onClick(View view) { + switch (view.getId()) { + ///< 首页 + case R.id.ll_index: { + onTabClick(TAB_POSITION_INDEX); + break; + } + ///< 工作 + case R.id.ll_work: { + onTabClick(TAB_POSITION_WORK); + break; + } + + ///< 我的 + case R.id.ll_me: { + onTabClick(TAB_POSITION_ME); + break; + } + } + } + + private void onTabClick(int tabPosition) { + if (mCurrentTabPosition == tabPosition) { + return; + } + mCurrentTabPosition = tabPosition; + changeTabState(tabPosition); + changeFragment(tabPosition); + } + + private void changeTabState(int tabPosition) { + clearAllTabState(); + switch (tabPosition) { + case TAB_POSITION_INDEX: { +// iv_index.setImageResource(R.drawable.ghs12x); + tv_index.setTextColor(getResources().getColor(R.color.green029737)); + mTvToolbarTitle.setText(R.string.index); + break; + } + + case TAB_POSITION_WORK: { +// iv_work.setImageResource(R.drawable.gwc12x); + tv_work.setTextColor(getResources().getColor(R.color.green029737)); + mTvToolbarTitle.setText(R.string.work); + break; + } + case TAB_POSITION_ME: { +// iv_me.setImageResource(R.drawable.dd12x); + tv_me.setTextColor(getResources().getColor(R.color.green029737)); + mTvToolbarTitle.setText(R.string.me); + break; + } + } + } + + + private void clearAllTabState() { + ///< 首页 +// iv_index.setImageResource(R.drawable.ghs2x); + tv_index.setTextColor(getResources().getColor(R.color.grey888888)); + ///< 工作 +// iv_work.setImageResource(R.drawable.gwc2x); + tv_work.setTextColor(getResources().getColor(R.color.grey888888)); + + ///< 我的 +// iv_me.setImageResource(R.drawable.dd2x); + tv_me.setTextColor(getResources().getColor(R.color.grey888888)); + + } + + + private void changeFragment(int tabPosition) { + FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); + hideFragment(transaction); + switch (tabPosition) { + case TAB_POSITION_INDEX: { + if (indexFragment == null) { + indexFragment = new IndexFragment(); + transaction.add(R.id.main_container, indexFragment); + } else { + transaction.show(indexFragment); + } + break; + } + + case TAB_POSITION_WORK: { + if (workFragment == null) { + workFragment = new WorkFragment(); + transaction.add(R.id.main_container, workFragment); + } else { + transaction.show(workFragment); + } + break; + } + + case TAB_POSITION_ME: { + if (meFragment == null) { + meFragment = new MeFragment(); + transaction.add(R.id.main_container, meFragment); + } else { + transaction.show(meFragment); + } + break; + } + } + transaction.commitAllowingStateLoss(); + } + + private void hideFragment(FragmentTransaction transaction) { + if (indexFragment != null) { + transaction.hide(indexFragment); + } + + if (workFragment != null) { + transaction.hide(workFragment); + } + if (meFragment != null) { + transaction.hide(meFragment); + } + } + + @Override + public void onBackPressed() { +// super.onBackPressed(); + exitApp(); + } + + ///< back键退出 + private void exitApp() { + long currentTime = System.currentTimeMillis(); + if (currentTime - mLastClickTime < DEFAULT_EXIT_TIME) { + finishAll(); + } else { + mLastClickTime = currentTime; + showToast(getString(R.string.back_exit_app)); + } + } } diff --git a/app/src/main/res/layout/act_main.xml b/app/src/main/res/layout/act_main.xml index ea24d6c..6db6819 100644 --- a/app/src/main/res/layout/act_main.xml +++ b/app/src/main/res/layout/act_main.xml @@ -1,12 +1,19 @@ + android:layout_height="match_parent" + android:orientation="vertical"> + - + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_index.xml b/app/src/main/res/layout/fragment_index.xml index f71b215..324ad95 100644 --- a/app/src/main/res/layout/fragment_index.xml +++ b/app/src/main/res/layout/fragment_index.xml @@ -2,6 +2,7 @@ + android:background="@color/greydbdbdb"> \ No newline at end of file diff --git a/app/src/main/res/layout/include_tab_bar.xml b/app/src/main/res/layout/include_tab_bar.xml index e4b9dfb..6c7321b 100644 --- a/app/src/main/res/layout/include_tab_bar.xml +++ b/app/src/main/res/layout/include_tab_bar.xml @@ -7,39 +7,45 @@ android:orientation="horizontal"> + + + android:text="@string/index" /> + + + android:text="@string/work" /> + + + android:text="@string/me" /> \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 2947e28..7f21df9 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,11 +1,11 @@ - #E3383B + #0b9343 - #E3383B + #0b9343 - #E3383B + #0b9343 #999999 @@ -15,10 +15,14 @@ #eeee4242 #ffffff #000000 - #767c82 + #888888 #282828 #00000000 #a3a3a3 + #029737 + #888888 + #f4f4f4 + #dbdbdb diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 86b6c8d..9caafe2 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -131,9 +131,9 @@ 8px 20px - @dimen/text_size_12 - 24dp - 24dp + @dimen/text_size_16 + 30dp + 30dp 8dp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 459caa0..412173c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,7 @@ - Ytzh + 亚太中慧 + 首页 + 工作 + 我的 + 再按一次返回键退出应用 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 9678078..8b8bd9b 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -28,7 +28,7 @@ wrap_content wrap_content @color/white - @dimen/text_size_18 + @dimen/text_size_20