TODOs: Add Navigation Icons and Transitions between Activities
We can slide back and forth between our two activities. There is also
a neat back button that we can use to go from a List to LoL view.
Note: The icon for the app is technically tappable, and I don't know
how to disable it.
Change-Id: I2bbd0bce902cd15d509a5d38232f27a7ac59fc63
diff --git a/app/src/main/java/io/v/todos/MainActivity.java b/app/src/main/java/io/v/todos/MainActivity.java
index 43c6324..520816c 100644
--- a/app/src/main/java/io/v/todos/MainActivity.java
+++ b/app/src/main/java/io/v/todos/MainActivity.java
@@ -42,7 +42,6 @@
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- getActionBar().setTitle(R.string.app_name);
mEmptyView.setText(R.string.no_lists);
// Set up the todo list adapter
@@ -54,6 +53,7 @@
Intent intent = new Intent(MainActivity.this, TodoListActivity.class);
intent.putExtra(INTENT_SNACKOO_KEY, fbKey);
startActivity(intent);
+ overridePendingTransition(R.anim.right_slide_in, R.anim.left_slide_out);
}
});
diff --git a/app/src/main/java/io/v/todos/TodoListActivity.java b/app/src/main/java/io/v/todos/TodoListActivity.java
index 7393fae..dbc0c76 100644
--- a/app/src/main/java/io/v/todos/TodoListActivity.java
+++ b/app/src/main/java/io/v/todos/TodoListActivity.java
@@ -42,6 +42,8 @@
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ getActionBar().setDisplayHomeAsUpEnabled(true);
+
mEmptyView.setText(R.string.no_tasks);
Intent intent = getIntent();
@@ -220,8 +222,21 @@
case R.id.action_debug:
sharePersistenceDebugDetails();
return true;
+ case android.R.id.home:
+ finishWithAnimation();
+ return true;
}
return super.onOptionsItemSelected(item);
}
+
+ @Override
+ public void onBackPressed() {
+ finishWithAnimation();
+ }
+
+ private void finishWithAnimation() {
+ this.finish();
+ overridePendingTransition(R.anim.left_slide_in, R.anim.right_slide_out);
+ }
}
diff --git a/app/src/main/res/anim/left_slide_in.xml b/app/src/main/res/anim/left_slide_in.xml
new file mode 100644
index 0000000..0fdb911
--- /dev/null
+++ b/app/src/main/res/anim/left_slide_in.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator">
+ <translate
+ android:fromXDelta="-100%p"
+ android:toXDelta="0"
+ android:duration="350"
+ />
+</set>
\ No newline at end of file
diff --git a/app/src/main/res/anim/left_slide_out.xml b/app/src/main/res/anim/left_slide_out.xml
new file mode 100644
index 0000000..c41e816
--- /dev/null
+++ b/app/src/main/res/anim/left_slide_out.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator">
+ <translate
+ android:fromXDelta="0"
+ android:toXDelta="-100%p"
+ android:duration="350"
+ />
+</set>
\ No newline at end of file
diff --git a/app/src/main/res/anim/right_slide_in.xml b/app/src/main/res/anim/right_slide_in.xml
new file mode 100644
index 0000000..90c667a
--- /dev/null
+++ b/app/src/main/res/anim/right_slide_in.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator">
+ <translate
+ android:fromXDelta="100%p"
+ android:toXDelta="0"
+ android:duration="350"
+ />
+</set>
\ No newline at end of file
diff --git a/app/src/main/res/anim/right_slide_out.xml b/app/src/main/res/anim/right_slide_out.xml
new file mode 100644
index 0000000..ead2aff
--- /dev/null
+++ b/app/src/main/res/anim/right_slide_out.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator">
+ <translate
+ android:fromXDelta="0"
+ android:toXDelta="100%p"
+ android:duration="350"
+ />
+</set>
\ No newline at end of file