From e83c41fa350d040ee31ee000046169b11218237a Mon Sep 17 00:00:00 2001 From: tibbi <tibor@kaputa.sk> Date: Sat, 26 Nov 2016 23:40:10 +0100 Subject: [PATCH] show the current note title in a pager strip --- .../notes/activities/MainActivity.kt | 12 +++++++++++- .../notes/adapters/NotesPagerAdapter.kt | 2 ++ .../notes/fragments/NoteFragment.kt | 7 +++++-- app/src/main/res/layout/activity_main.xml | 11 ++++++++++- app/src/main/res/layout/fragment_note.xml | 12 +----------- 5 files changed, 29 insertions(+), 15 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt index 245a27b5..4a9b5df3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt @@ -3,6 +3,8 @@ package com.simplemobiletools.notes.activities import android.content.Intent import android.os.Bundle import android.support.v4.view.ViewPager +import android.util.TypedValue +import android.view.Gravity import android.view.Menu import android.view.MenuItem import android.view.View @@ -17,6 +19,7 @@ import com.simplemobiletools.notes.dialogs.NewNoteDialog import com.simplemobiletools.notes.dialogs.OpenNoteDialog import com.simplemobiletools.notes.dialogs.RenameNoteDialog import com.simplemobiletools.notes.extensions.dpToPx +import com.simplemobiletools.notes.extensions.getTextSize import com.simplemobiletools.notes.models.Note import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.fragment_note.* @@ -34,6 +37,9 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener { mDb = DBHelper.newInstance(applicationContext) initViewPager() + pager_title_strip.setTextSize(TypedValue.COMPLEX_UNIT_PX, getTextSize()) + pager_title_strip.layoutParams.height = (pager_title_strip.height + resources.getDimension(R.dimen.activity_margin) * 2).toInt() + notes_fab.setOnClickListener { displayNewNoteDialog() } notes_fab.viewTreeObserver.addOnGlobalLayoutListener { val heightDiff = notes_coordinator.rootView.height - notes_coordinator.height @@ -57,6 +63,9 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener { override fun onResume() { super.onResume() invalidateOptionsMenu() + pager_title_strip.setTextSize(TypedValue.COMPLEX_UNIT_PX, getTextSize()) + pager_title_strip.setGravity(Gravity.CENTER_VERTICAL) + pager_title_strip.setNonPrimaryAlpha(0.4f) } override fun onDestroy() { @@ -77,6 +86,8 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener { findItem(R.id.delete_note).isVisible = shouldBeVisible } + pager_title_strip.visibility = if (shouldBeVisible) View.VISIBLE else View.GONE + return super.onPrepareOptionsMenu(menu) } @@ -113,7 +124,6 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener { private fun displayRenameDialog() { RenameNoteDialog(this, mDb, mCurrentNote) { mCurrentNote = it - current_note_title.text = it.title initViewPager() } } diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/adapters/NotesPagerAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/notes/adapters/NotesPagerAdapter.kt index 59215c90..c1706266 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/adapters/NotesPagerAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/adapters/NotesPagerAdapter.kt @@ -31,4 +31,6 @@ class NotesPagerAdapter(fm: FragmentManager, private val notes: List<Note>) : Fr fragments.put(position, fragment) return fragment } + + override fun getPageTitle(position: Int) = notes[position].title } diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt b/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt index 119e1a37..069f6f25 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt @@ -28,8 +28,6 @@ class NoteFragment : Fragment() { note = mDb.getNote(noteId) ?: return view view.notes_view.setText(note.value) - view.current_note_title.text = note.title - view.notes_view.setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getTextSize()) return view } @@ -43,6 +41,11 @@ class NoteFragment : Fragment() { } } + override fun onResume() { + super.onResume() + view.notes_view.setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getTextSize()) + } + override fun onPause() { super.onPause() saveText() diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 0d52fd43..8c2ad7ab 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -9,7 +9,16 @@ <com.simplemobiletools.notes.views.MyViewPager android:id="@+id/view_pager" android:layout_width="match_parent" - android:layout_height="match_parent"/> + android:layout_height="match_parent"> + + <android.support.v4.view.PagerTitleStrip + android:id="@+id/pager_title_strip" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_gravity="top" + android:paddingLeft="@dimen/activity_margin" + android:paddingRight="@dimen/activity_margin"/> + </com.simplemobiletools.notes.views.MyViewPager> <android.support.design.widget.FloatingActionButton android:id="@+id/notes_fab" diff --git a/app/src/main/res/layout/fragment_note.xml b/app/src/main/res/layout/fragment_note.xml index 8201c2de..2517053e 100644 --- a/app/src/main/res/layout/fragment_note.xml +++ b/app/src/main/res/layout/fragment_note.xml @@ -3,22 +3,12 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/note_Fragment_holder" android:layout_width="match_parent" - android:layout_height="match_parent" - android:paddingTop="@dimen/activity_margin"> - - <TextView - android:id="@+id/current_note_title" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="@dimen/activity_margin" - android:layout_marginRight="@dimen/activity_margin" - android:alpha=".6"/> + android:layout_height="match_parent"> <ScrollView android:id="@+id/notes_scrollview" android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_below="@+id/current_note_title" android:fillViewport="true"> <EditText