From adf49a012517fd103124bf0e9d849e9217ee6a8b Mon Sep 17 00:00:00 2001 From: AndreyTurubchuk Date: Mon, 27 Jun 2016 20:44:30 +0300 Subject: [PATCH 01/17] Create metod ShowProgress --- .../ui/activities/BaseActivity.java | 43 +++++++++++++++++++ app/src/main/res/values/styles.xml | 4 ++ 2 files changed, 47 insertions(+) create mode 100644 app/src/main/java/com/softdesign/devintensive/ui/activities/BaseActivity.java diff --git a/app/src/main/java/com/softdesign/devintensive/ui/activities/BaseActivity.java b/app/src/main/java/com/softdesign/devintensive/ui/activities/BaseActivity.java new file mode 100644 index 0000000..4071f25 --- /dev/null +++ b/app/src/main/java/com/softdesign/devintensive/ui/activities/BaseActivity.java @@ -0,0 +1,43 @@ +package com.softdesign.devintensive.ui.activities; + +import android.app.ProgressDialog; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.support.v7.app.AppCompatActivity; +import android.util.Log; +import android.widget.Toast; + +import com.softdesign.devintensive.R; +import com.softdesign.devintensive.utils.ConstantManager; + +/** + * Created by Andrey on 27.06.2016. + */ +public class BaseActivity extends AppCompatActivity { + static final String TAG = ConstantManager.TAG_PREFIX + "BaseActivity"; + protected ProgressDialog mProgressDialog; + + public void showProgress(){ + if (mProgressDialog==null){ + mProgressDialog = new ProgressDialog(this, R.style.custom_dialog); + mProgressDialog.setCancelable(false); + mProgressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + mProgressDialog.show(); + } + + } + + public void hideProgress(){ + + } + + public void showError(String message, Exception error){ + showToast(message); + Log.e(TAG, String.valueOf(error)); + } + + + public void showToast(String message){ + Toast.makeText(this, message, Toast.LENGTH_LONG); + } +} diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 328a346..928b669 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -7,5 +7,9 @@ @color/color_primary_dark @color/color_accent + + From 5ba6588140471fe4e1f803b5a2e8599e7a0bd1a1 Mon Sep 17 00:00:00 2001 From: AndreyTurubchuk Date: Mon, 27 Jun 2016 21:12:33 +0300 Subject: [PATCH 02/17] Create dialog_splash --- app/src/main/res/layout/dialog_splash.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 app/src/main/res/layout/dialog_splash.xml diff --git a/app/src/main/res/layout/dialog_splash.xml b/app/src/main/res/layout/dialog_splash.xml new file mode 100644 index 0000000..5e3d020 --- /dev/null +++ b/app/src/main/res/layout/dialog_splash.xml @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file From d476066d19f85a38770409e06797f1d594e493b0 Mon Sep 17 00:00:00 2001 From: AndreyTurubchuk Date: Mon, 27 Jun 2016 22:55:30 +0300 Subject: [PATCH 03/17] Create metod Click --- .../ui/activities/BaseActivity.java | 10 ++++++- .../ui/activities/MainActivity.java | 26 ++++++++++++++++++- app/src/main/res/layout/activity_main.xml | 1 + ...{dialog_splash.xml => progress_splash.xml} | 0 4 files changed, 35 insertions(+), 2 deletions(-) rename app/src/main/res/layout/{dialog_splash.xml => progress_splash.xml} (100%) diff --git a/app/src/main/java/com/softdesign/devintensive/ui/activities/BaseActivity.java b/app/src/main/java/com/softdesign/devintensive/ui/activities/BaseActivity.java index 4071f25..0f4b16a 100644 --- a/app/src/main/java/com/softdesign/devintensive/ui/activities/BaseActivity.java +++ b/app/src/main/java/com/softdesign/devintensive/ui/activities/BaseActivity.java @@ -23,12 +23,20 @@ public void showProgress(){ mProgressDialog.setCancelable(false); mProgressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); mProgressDialog.show(); + mProgressDialog.setContentView(R.layout.progress_splash); + } else { + mProgressDialog.show(); + mProgressDialog.setContentView(R.layout.progress_splash); } } public void hideProgress(){ - + if (mProgressDialog != null){ + if (mProgressDialog.isShowing()) { + mProgressDialog.hide(); + } + } } public void showError(String message, Exception error){ diff --git a/app/src/main/java/com/softdesign/devintensive/ui/activities/MainActivity.java b/app/src/main/java/com/softdesign/devintensive/ui/activities/MainActivity.java index 5efd500..5a98fa0 100644 --- a/app/src/main/java/com/softdesign/devintensive/ui/activities/MainActivity.java +++ b/app/src/main/java/com/softdesign/devintensive/ui/activities/MainActivity.java @@ -1,20 +1,26 @@ package com.softdesign.devintensive.ui.activities; +import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; +import android.view.View; +import android.widget.ImageView; import com.softdesign.devintensive.R; import com.softdesign.devintensive.utils.ConstantManager; -public class MainActivity extends AppCompatActivity { +public class MainActivity extends BaseActivity implements View.OnClickListener { private static final String TAG = ConstantManager.TAG_PREFIX + "Main Activity"; + private ImageView mCallImg; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(TAG, "onCreate"); + mCallImg = (ImageView)findViewById(R.id.call_img); + mCallImg.setOnClickListener(this); } @Override @@ -48,7 +54,25 @@ protected void onDestroy() { } + @Override + public void onClick(View v) { + switch (v.getId()){ + case R.id.call_img: + showProgress(); + runWithDelay(); + break; + } + } + private void runWithDelay(){ + final Handler handler = new Handler(); + handler.postDelayed(new Runnable() { + @Override + public void run() { + hideProgress(); + } + }, 5000); + } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 5136fb8..ff4d09d 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -155,6 +155,7 @@ Date: Tue, 28 Jun 2016 00:40:00 +0300 Subject: [PATCH 04/17] Create snackbar --- .../ui/activities/MainActivity.java | 29 +++++++++++++++---- app/src/main/res/layout/activity_main.xml | 22 ++++++++------ 2 files changed, 37 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/softdesign/devintensive/ui/activities/MainActivity.java b/app/src/main/java/com/softdesign/devintensive/ui/activities/MainActivity.java index 5a98fa0..699cb0c 100644 --- a/app/src/main/java/com/softdesign/devintensive/ui/activities/MainActivity.java +++ b/app/src/main/java/com/softdesign/devintensive/ui/activities/MainActivity.java @@ -1,6 +1,8 @@ package com.softdesign.devintensive.ui.activities; import android.os.Handler; +import android.support.design.widget.CoordinatorLayout; +import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; @@ -14,13 +16,21 @@ public class MainActivity extends BaseActivity implements View.OnClickListener { private static final String TAG = ConstantManager.TAG_PREFIX + "Main Activity"; private ImageView mCallImg; + private CoordinatorLayout mCoordinatorLayout; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(TAG, "onCreate"); mCallImg = (ImageView)findViewById(R.id.call_img); + mCoordinatorLayout = (CoordinatorLayout) findViewById(R.id.main_coordinator_container); mCallImg.setOnClickListener(this); + if (savedInstanceState == null){ + showSnackbar("Активити запускается впервые"); + } else { + showSnackbar("Активити уже создавалось"); + } } @Override @@ -53,19 +63,26 @@ protected void onDestroy() { Log.d(TAG, "onDestroy"); } + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + } + + + @Override public void onClick(View v) { switch (v.getId()){ case R.id.call_img: - showProgress(); - runWithDelay(); +/* showProgress(); + runWithDelay();*/ break; } } - private void runWithDelay(){ + /* private void runWithDelay(){ final Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override @@ -73,6 +90,8 @@ public void run() { hideProgress(); } }, 5000); - } - + }*/ + private void showSnackbar(String message){ + Snackbar.make(mCoordinatorLayout, message, Snackbar.LENGTH_LONG).show(); + } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index ff4d09d..fd29950 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,19 +1,21 @@ - + + + tools:context="ui.activities.MainActivity" + android:scrollbars="vertical"> - - - - \ No newline at end of file + + + \ No newline at end of file From b7be51841f7010ad653134a353b3759420795ed1 Mon Sep 17 00:00:00 2001 From: AndreyTurubchuk Date: Wed, 29 Jun 2016 13:43:13 +0300 Subject: [PATCH 05/17] Create navigarionBar --- .../drawable/ic_account_circle_black_24dp.xml | 9 ++++ .../res/drawable/ic_people_black_24dp.xml | 9 ++++ app/src/main/res/layout/activity_main.xml | 46 +++++++++++++------ app/src/main/res/layout/drower_header.xml | 44 ++++++++++++++++++ app/src/main/res/menu/drawer_menu.xml | 15 ++++++ app/src/main/res/values/dimens.xml | 3 +- 6 files changed, 112 insertions(+), 14 deletions(-) create mode 100644 app/src/main/res/drawable/ic_account_circle_black_24dp.xml create mode 100644 app/src/main/res/drawable/ic_people_black_24dp.xml create mode 100644 app/src/main/res/layout/drower_header.xml create mode 100644 app/src/main/res/menu/drawer_menu.xml diff --git a/app/src/main/res/drawable/ic_account_circle_black_24dp.xml b/app/src/main/res/drawable/ic_account_circle_black_24dp.xml new file mode 100644 index 0000000..7678580 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_circle_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_people_black_24dp.xml b/app/src/main/res/drawable/ic_people_black_24dp.xml new file mode 100644 index 0000000..4cfd869 --- /dev/null +++ b/app/src/main/res/drawable/ic_people_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index fd29950..9b38246 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,7 +1,15 @@ - + + @@ -10,7 +18,7 @@ android:id="@+id/scroll_view" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context="ui.activities.MainActivity" + android:scrollbars="vertical"> + android:layout_marginRight="@dimen/size_medial_32"/> + android:layout_marginRight="@dimen/size_medial_32"/> + android:layout_marginRight="@dimen/size_medial_32"/> + android:layout_marginRight="@dimen/size_medial_32"/> - \ No newline at end of file + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/drower_header.xml b/app/src/main/res/layout/drower_header.xml new file mode 100644 index 0000000..7dbcb7c --- /dev/null +++ b/app/src/main/res/layout/drower_header.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/drawer_menu.xml b/app/src/main/res/menu/drawer_menu.xml new file mode 100644 index 0000000..7557ef1 --- /dev/null +++ b/app/src/main/res/menu/drawer_menu.xml @@ -0,0 +1,15 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 7d11b96..1247aff 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -6,7 +6,8 @@ 1dp 24dp - 56dp + 32dp + 56dp 72dp From 40d98492e0378c7fbacb3a10759e1829951cd2fe Mon Sep 17 00:00:00 2001 From: AndreyTurubchuk Date: Tue, 28 Jun 2016 23:33:11 +0300 Subject: [PATCH 06/17] Create navigarionDrawer --- .../ui/activities/MainActivity.java | 31 +++++++++++++++++++ .../main/res/drawable/ic_menu_black_24dp.xml | 9 ++++++ app/src/main/res/layout/activity_main.xml | 24 ++++++++++++-- .../{drower_header.xml => drawer_header.xml} | 1 - app/src/main/res/values-v21/styles.xml | 13 ++++++++ app/src/main/res/values/styles.xml | 13 +++++++- 6 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 app/src/main/res/drawable/ic_menu_black_24dp.xml rename app/src/main/res/layout/{drower_header.xml => drawer_header.xml} (96%) create mode 100644 app/src/main/res/values-v21/styles.xml diff --git a/app/src/main/java/com/softdesign/devintensive/ui/activities/MainActivity.java b/app/src/main/java/com/softdesign/devintensive/ui/activities/MainActivity.java index 699cb0c..29b4d1f 100644 --- a/app/src/main/java/com/softdesign/devintensive/ui/activities/MainActivity.java +++ b/app/src/main/java/com/softdesign/devintensive/ui/activities/MainActivity.java @@ -3,9 +3,14 @@ import android.os.Handler; import android.support.design.widget.CoordinatorLayout; import android.support.design.widget.Snackbar; +import android.support.v4.view.GravityCompat; +import android.support.v4.widget.DrawerLayout; +import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.support.v7.widget.Toolbar; import android.util.Log; +import android.view.MenuItem; import android.view.View; import android.widget.ImageView; @@ -17,6 +22,8 @@ public class MainActivity extends BaseActivity implements View.OnClickListener { private static final String TAG = ConstantManager.TAG_PREFIX + "Main Activity"; private ImageView mCallImg; private CoordinatorLayout mCoordinatorLayout; + private Toolbar mToolbar; + private DrawerLayout mNavigationDrawer; @Override protected void onCreate(Bundle savedInstanceState) { @@ -25,7 +32,12 @@ protected void onCreate(Bundle savedInstanceState) { Log.d(TAG, "onCreate"); mCallImg = (ImageView)findViewById(R.id.call_img); mCoordinatorLayout = (CoordinatorLayout) findViewById(R.id.main_coordinator_container); + mToolbar = (Toolbar)findViewById(R.id.toolbar); + mNavigationDrawer = (DrawerLayout)findViewById(R.id.navigation_drawer); + + mCallImg.setOnClickListener(this); + setupToolbar(); if (savedInstanceState == null){ showSnackbar("Активити запускается впервые"); } else { @@ -33,6 +45,14 @@ protected void onCreate(Bundle savedInstanceState) { } } + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == android.R.id.home) { + mNavigationDrawer.openDrawer(GravityCompat.START); + } + return super.onOptionsItemSelected(item); + } + @Override protected void onStart() { super.onStart(); @@ -91,6 +111,17 @@ public void run() { } }, 5000); }*/ + + private void setupToolbar(){ + setSupportActionBar(mToolbar); + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null){ + actionBar.setHomeAsUpIndicator(R.drawable.ic_menu_black_24dp); + actionBar.setDisplayHomeAsUpEnabled(true); + } + + + } private void showSnackbar(String message){ Snackbar.make(mCoordinatorLayout, message, Snackbar.LENGTH_LONG).show(); } diff --git a/app/src/main/res/drawable/ic_menu_black_24dp.xml b/app/src/main/res/drawable/ic_menu_black_24dp.xml new file mode 100644 index 0000000..6d9343b --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 9b38246..ceeee85 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -4,9 +4,10 @@ xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" tools:context="ui.activities.MainActivity" + android:id="@+id/navigation_drawer" android:layout_width="match_parent" android:layout_height="match_parent" - > + android:fitsSystemWindows="true"> + + + + + + + diff --git a/app/src/main/res/layout/drower_header.xml b/app/src/main/res/layout/drawer_header.xml similarity index 96% rename from app/src/main/res/layout/drower_header.xml rename to app/src/main/res/layout/drawer_header.xml index 7dbcb7c..ce68cb0 100644 --- a/app/src/main/res/layout/drower_header.xml +++ b/app/src/main/res/layout/drawer_header.xml @@ -16,7 +16,6 @@ diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml new file mode 100644 index 0000000..968b0b5 --- /dev/null +++ b/app/src/main/res/values-v21/styles.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 928b669..15f65a9 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,7 +1,7 @@ - + + + + +