From 383e85498497b7379255204f2c537d0c24500d71 Mon Sep 17 00:00:00 2001 From: Dinhcv Date: Thu, 12 Oct 2017 10:29:11 +0700 Subject: [PATCH] update handle UI --- .idea/modules.xml | 2 - .../activity/PedometerActivity.java | 65 ++++++++++++++++++---- .../lifelogpedometer/activity/TopDateFragment.java | 2 +- .../model/Shareprefer/Setting.java | 2 +- app/src/main/res/menu/main.xml | 13 +++-- app/src/main/res/values/strings.xml | 1 + 6 files changed, 66 insertions(+), 19 deletions(-) diff --git a/.idea/modules.xml b/.idea/modules.xml index fd36a3b..a6e86a8 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -3,8 +3,6 @@ - - diff --git a/app/src/main/java/com/dinhcv/lifelogpedometer/activity/PedometerActivity.java b/app/src/main/java/com/dinhcv/lifelogpedometer/activity/PedometerActivity.java index 7b9133a..ba0f6ed 100644 --- a/app/src/main/java/com/dinhcv/lifelogpedometer/activity/PedometerActivity.java +++ b/app/src/main/java/com/dinhcv/lifelogpedometer/activity/PedometerActivity.java @@ -10,6 +10,7 @@ import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.content.PermissionChecker; import android.support.v4.view.ViewPager; +import android.support.v7.widget.PopupMenu; import android.support.v7.widget.Toolbar; import android.view.Gravity; import android.view.MenuItem; @@ -19,8 +20,10 @@ import android.view.WindowManager; import android.widget.ImageView; import android.widget.PopupWindow; import android.widget.TextView; +import android.widget.Toast; import com.dinhcv.lifelogpedometer.R; +import com.dinhcv.lifelogpedometer.model.Shareprefer.Setting; import com.dinhcv.lifelogpedometer.utils.Debug; import com.dinhcv.lifelogpedometer.utils.Utils; @@ -114,6 +117,48 @@ public class PedometerActivity extends ActivityBase { } } }); + + imvMenu.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //Creating the instance of PopupMenu + PopupMenu popup = new PopupMenu(PedometerActivity.this, imvMenu); + //Inflating the Popup using xml file + popup.getMenuInflater().inflate(R.menu.main, popup.getMenu()); + + //registering popup with OnMenuItemClickListener + popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { + public boolean onMenuItemClick(MenuItem item) { + switch (item.getItemId()){ + case R.id.action_setting: + Toast.makeText( + PedometerActivity.this, + "Have not spec : " + item.getTitle(), + Toast.LENGTH_SHORT + ).show(); + break; + case R.id.action_profile: + Toast.makeText( + PedometerActivity.this, + "Have not spec : " + item.getTitle(), + Toast.LENGTH_SHORT + ).show(); + break; + case R.id.action_logout: + logout(); + break; + default: + Debug.warn("Not run here"); + break; + } + + return true; + } + }); + + popup.show(); //showing popup menu + } + }); //closing the setOnClickListener method } private void setupTabIcons() { @@ -145,7 +190,7 @@ public class PedometerActivity extends ActivityBase { Window window = this.getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); - window.setStatusBarColor(Utils.getColorWrapper(this, R.color.white)); + // window.setStatusBarColor(Utils.getColorWrapper(this, R.color.white)); } } @@ -294,16 +339,14 @@ public class PedometerActivity extends ActivityBase { } } - private void showMenu(){ -// show -// int[] location = new int[2]; -// imvMenu.getLocationOnScreen(location); -// final View mView = inflater.inflate(R.layout.xxxx, null, false); -// final PopupWindow popUp = new PopupWindow(mView, Width, Height, false); -// popUp.setTouchable(true); -// popUp.setFocusable(true); -// popUp.setOutsideTouchable(true); -// popUp.showAtLocation(view, Gravity.NO_GRAVITY, location[0], location[1]); + private void logout(){ + // clear data + Setting.clearUserIdSharepre(PedometerActivity.this); + // go to login + Intent intent = new Intent(PedometerActivity.this, LoginActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + startActivity(intent); } } diff --git a/app/src/main/java/com/dinhcv/lifelogpedometer/activity/TopDateFragment.java b/app/src/main/java/com/dinhcv/lifelogpedometer/activity/TopDateFragment.java index bd6447d..8d83e30 100644 --- a/app/src/main/java/com/dinhcv/lifelogpedometer/activity/TopDateFragment.java +++ b/app/src/main/java/com/dinhcv/lifelogpedometer/activity/TopDateFragment.java @@ -295,7 +295,7 @@ public class TopDateFragment extends FragmentBase implements SettingFragmentPres private void loadUI(){ tvStep.setText(String.valueOf(mTagetInfo.getSteps())); tvRemain.setText(String.valueOf(mTagetInfo.getStepRemain())); - tvRateDone.setText(getResources().getString(R.string.percent_unit, mTagetInfo.getCompletePercent())); + tvRateDone.setText(mContext.getResources().getString(R.string.percent_unit, mTagetInfo.getCompletePercent())); List infoLists = mTagetInfo.getNoticeList(); if (infoLists != null && infoLists.size() >0){ diff --git a/app/src/main/java/com/dinhcv/lifelogpedometer/model/Shareprefer/Setting.java b/app/src/main/java/com/dinhcv/lifelogpedometer/model/Shareprefer/Setting.java index 87e8539..fe35098 100644 --- a/app/src/main/java/com/dinhcv/lifelogpedometer/model/Shareprefer/Setting.java +++ b/app/src/main/java/com/dinhcv/lifelogpedometer/model/Shareprefer/Setting.java @@ -93,7 +93,7 @@ public class Setting { return value; } - private static void clearUserIdSharepre(Context context){ + public static void clearUserIdSharepre(Context context){ SharedPreferences.Editor preferences = context.getSharedPreferences(USER_ID_SHAREPRE, Context.MODE_PRIVATE).edit(); preferences.clear(); preferences.apply(); diff --git a/app/src/main/res/menu/main.xml b/app/src/main/res/menu/main.xml index e11def1..22c7a56 100644 --- a/app/src/main/res/menu/main.xml +++ b/app/src/main/res/menu/main.xml @@ -1,12 +1,17 @@ + android:title="@string/setting"/> + android:title="@string/profile_change"/> + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 916b849..04342b6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -10,6 +10,7 @@ Average close Pause + ログアウト 設定 プロフェイール変更 step -- 1.8.5.3