Added Collapsing appbar to library tabs with an option to switch back to simple appbar
This commit is contained in:
parent
ffd251ab62
commit
b2e1ab2128
12 changed files with 159 additions and 46 deletions
|
@ -158,3 +158,4 @@ const val LYRICS_TYPE = "lyrics_type"
|
||||||
const val PLAYBACK_SPEED = "playback_speed"
|
const val PLAYBACK_SPEED = "playback_speed"
|
||||||
const val PLAYBACK_PITCH = "playback_pitch"
|
const val PLAYBACK_PITCH = "playback_pitch"
|
||||||
const val CUSTOM_FONT = "custom_font"
|
const val CUSTOM_FONT = "custom_font"
|
||||||
|
const val APPBAR_MODE = "appbar_mode"
|
||||||
|
|
|
@ -147,7 +147,7 @@ class MainActivity : AbsCastActivity(), OnSharedPreferenceChangeListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
|
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
|
||||||
if (key == GENERAL_THEME || key == MATERIAL_YOU || key == BLACK_THEME || key == ADAPTIVE_COLOR_APP || key == USER_NAME || key == TOGGLE_FULL_SCREEN || key == TOGGLE_VOLUME || key == ROUND_CORNERS || key == CAROUSEL_EFFECT || key == NOW_PLAYING_SCREEN_ID || key == TOGGLE_GENRE || key == BANNER_IMAGE_PATH || key == PROFILE_IMAGE_PATH || key == CIRCULAR_ALBUM_ART || key == KEEP_SCREEN_ON || key == TOGGLE_SEPARATE_LINE || key == TOGGLE_HOME_BANNER || key == TOGGLE_ADD_CONTROLS || key == ALBUM_COVER_STYLE || key == HOME_ARTIST_GRID_STYLE || key == ALBUM_COVER_TRANSFORM || key == DESATURATED_COLOR || key == EXTRA_SONG_INFO || key == TAB_TEXT_MODE || key == LANGUAGE_NAME || key == LIBRARY_CATEGORIES || key == CUSTOM_FONT) {
|
if (key == GENERAL_THEME || key == MATERIAL_YOU || key == BLACK_THEME || key == ADAPTIVE_COLOR_APP || key == USER_NAME || key == TOGGLE_FULL_SCREEN || key == TOGGLE_VOLUME || key == ROUND_CORNERS || key == CAROUSEL_EFFECT || key == NOW_PLAYING_SCREEN_ID || key == TOGGLE_GENRE || key == BANNER_IMAGE_PATH || key == PROFILE_IMAGE_PATH || key == CIRCULAR_ALBUM_ART || key == KEEP_SCREEN_ON || key == TOGGLE_SEPARATE_LINE || key == TOGGLE_HOME_BANNER || key == TOGGLE_ADD_CONTROLS || key == ALBUM_COVER_STYLE || key == HOME_ARTIST_GRID_STYLE || key == ALBUM_COVER_TRANSFORM || key == DESATURATED_COLOR || key == EXTRA_SONG_INFO || key == TAB_TEXT_MODE || key == LANGUAGE_NAME || key == LIBRARY_CATEGORIES || key == CUSTOM_FONT|| key == APPBAR_MODE) {
|
||||||
postRecreate()
|
postRecreate()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,12 +32,10 @@ import code.name.monkey.retromusic.dialogs.CreatePlaylistDialog
|
||||||
import code.name.monkey.retromusic.dialogs.ImportPlaylistDialog
|
import code.name.monkey.retromusic.dialogs.ImportPlaylistDialog
|
||||||
import code.name.monkey.retromusic.extensions.accentColor
|
import code.name.monkey.retromusic.extensions.accentColor
|
||||||
import code.name.monkey.retromusic.extensions.dip
|
import code.name.monkey.retromusic.extensions.dip
|
||||||
import code.name.monkey.retromusic.extensions.drawNextToNavbar
|
|
||||||
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
||||||
import code.name.monkey.retromusic.interfaces.IScrollHelper
|
import code.name.monkey.retromusic.interfaces.IScrollHelper
|
||||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||||
import code.name.monkey.retromusic.util.ThemedFastScroller.create
|
import code.name.monkey.retromusic.util.ThemedFastScroller.create
|
||||||
import com.google.android.material.shape.MaterialShapeDrawable
|
|
||||||
import com.google.android.material.transition.MaterialFadeThrough
|
import com.google.android.material.transition.MaterialFadeThrough
|
||||||
import me.zhanghai.android.fastscroll.FastScroller
|
import me.zhanghai.android.fastscroll.FastScroller
|
||||||
import me.zhanghai.android.fastscroll.FastScrollerBuilder
|
import me.zhanghai.android.fastscroll.FastScrollerBuilder
|
||||||
|
@ -59,7 +57,7 @@ abstract class AbsRecyclerViewFragment<A : RecyclerView.Adapter<*>, LM : Recycle
|
||||||
view.doOnPreDraw { startPostponedEnterTransition() }
|
view.doOnPreDraw { startPostponedEnterTransition() }
|
||||||
enterTransition = MaterialFadeThrough().addTarget(binding.recyclerView)
|
enterTransition = MaterialFadeThrough().addTarget(binding.recyclerView)
|
||||||
reenterTransition = MaterialFadeThrough().addTarget(binding.recyclerView)
|
reenterTransition = MaterialFadeThrough().addTarget(binding.recyclerView)
|
||||||
mainActivity.setSupportActionBar(binding.toolbar)
|
mainActivity.setSupportActionBar(toolbar)
|
||||||
mainActivity.supportActionBar?.title = null
|
mainActivity.supportActionBar?.title = null
|
||||||
initLayoutManager()
|
initLayoutManager()
|
||||||
initAdapter()
|
initAdapter()
|
||||||
|
@ -98,12 +96,10 @@ abstract class AbsRecyclerViewFragment<A : RecyclerView.Adapter<*>, LM : Recycle
|
||||||
open fun onShuffleClicked() {
|
open fun onShuffleClicked() {
|
||||||
}
|
}
|
||||||
|
|
||||||
fun toolbar(): Toolbar {
|
val toolbar: Toolbar get() = binding.appBarLayout.toolbar
|
||||||
return binding.toolbar
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun setupToolbar() {
|
private fun setupToolbar() {
|
||||||
binding.toolbar.setNavigationOnClickListener {
|
toolbar.setNavigationOnClickListener {
|
||||||
findNavController().navigate(
|
findNavController().navigate(
|
||||||
R.id.action_search,
|
R.id.action_search,
|
||||||
null,
|
null,
|
||||||
|
@ -111,10 +107,8 @@ abstract class AbsRecyclerViewFragment<A : RecyclerView.Adapter<*>, LM : Recycle
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
val appName = resources.getString(titleRes)
|
val appName = resources.getString(titleRes)
|
||||||
binding.appNameText.text = appName
|
binding.appBarLayout.title = appName
|
||||||
binding.toolbarContainer.drawNextToNavbar()
|
//toolbarContainer.drawNextToNavbar()
|
||||||
binding.appBarLayout.statusBarForeground =
|
|
||||||
MaterialShapeDrawable.createWithElevationOverlay(requireContext())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract val titleRes: Int
|
abstract val titleRes: Int
|
||||||
|
@ -208,7 +202,7 @@ abstract class AbsRecyclerViewFragment<A : RecyclerView.Adapter<*>, LM : Recycle
|
||||||
|
|
||||||
override fun onPrepareOptionsMenu(menu: Menu) {
|
override fun onPrepareOptionsMenu(menu: Menu) {
|
||||||
super.onPrepareOptionsMenu(menu)
|
super.onPrepareOptionsMenu(menu)
|
||||||
ToolbarContentTintHelper.handleOnPrepareOptionsMenu(requireActivity(), binding.toolbar)
|
ToolbarContentTintHelper.handleOnPrepareOptionsMenu(requireActivity(), toolbar)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
||||||
|
@ -216,9 +210,9 @@ abstract class AbsRecyclerViewFragment<A : RecyclerView.Adapter<*>, LM : Recycle
|
||||||
inflater.inflate(R.menu.menu_main, menu)
|
inflater.inflate(R.menu.menu_main, menu)
|
||||||
ToolbarContentTintHelper.handleOnCreateOptionsMenu(
|
ToolbarContentTintHelper.handleOnCreateOptionsMenu(
|
||||||
requireContext(),
|
requireContext(),
|
||||||
binding.toolbar,
|
toolbar,
|
||||||
menu,
|
menu,
|
||||||
ATHToolbarActivity.getToolbarBackgroundColor(binding.toolbar)
|
ATHToolbarActivity.getToolbarBackgroundColor(toolbar)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ class PlayingQueueRVFragment : AbsRecyclerViewFragment<PlayingQueueAdapter, Line
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupToolbar() {
|
private fun setupToolbar() {
|
||||||
toolbar().apply {
|
toolbar.apply {
|
||||||
setNavigationOnClickListener {
|
setNavigationOnClickListener {
|
||||||
findNavController().navigateUp()
|
findNavController().navigateUp()
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@ import code.name.monkey.retromusic.helper.SortOrder.*
|
||||||
import code.name.monkey.retromusic.model.CategoryInfo
|
import code.name.monkey.retromusic.model.CategoryInfo
|
||||||
import code.name.monkey.retromusic.transform.*
|
import code.name.monkey.retromusic.transform.*
|
||||||
import code.name.monkey.retromusic.util.theme.ThemeMode
|
import code.name.monkey.retromusic.util.theme.ThemeMode
|
||||||
|
import code.name.monkey.retromusic.views.TopAppBarLayout
|
||||||
import com.google.android.material.bottomnavigation.BottomNavigationView
|
import com.google.android.material.bottomnavigation.BottomNavigationView
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import com.google.gson.JsonSyntaxException
|
import com.google.gson.JsonSyntaxException
|
||||||
|
@ -133,7 +134,7 @@ object PreferenceUtil {
|
||||||
|
|
||||||
var artistDetailSongSortOrder
|
var artistDetailSongSortOrder
|
||||||
get() = sharedPreferences.getStringOrDefault(
|
get() = sharedPreferences.getStringOrDefault(
|
||||||
ARTIST_DETAIL_SONG_SORT_ORDER,
|
ARTIST_DETAIL_SONG_SORT_ORDER,
|
||||||
ArtistSongSortOrder.SONG_A_Z
|
ArtistSongSortOrder.SONG_A_Z
|
||||||
)
|
)
|
||||||
set(value) = sharedPreferences.edit { putString(ARTIST_DETAIL_SONG_SORT_ORDER, value) }
|
set(value) = sharedPreferences.edit { putString(ARTIST_DETAIL_SONG_SORT_ORDER, value) }
|
||||||
|
@ -667,7 +668,7 @@ object PreferenceUtil {
|
||||||
get() = sharedPreferences.getBoolean(MATERIAL_YOU, VersionUtils.hasS())
|
get() = sharedPreferences.getBoolean(MATERIAL_YOU, VersionUtils.hasS())
|
||||||
|
|
||||||
val isCustomFont
|
val isCustomFont
|
||||||
get() = sharedPreferences.getBoolean(CUSTOM_FONT, false)
|
get() = sharedPreferences.getBoolean(CUSTOM_FONT, false)
|
||||||
|
|
||||||
val isSnowFalling
|
val isSnowFalling
|
||||||
get() = sharedPreferences.getBoolean(SNOWFALL, false)
|
get() = sharedPreferences.getBoolean(SNOWFALL, false)
|
||||||
|
@ -688,6 +689,13 @@ object PreferenceUtil {
|
||||||
get() = sharedPreferences
|
get() = sharedPreferences
|
||||||
.getFloat(PLAYBACK_PITCH, 1F)
|
.getFloat(PLAYBACK_PITCH, 1F)
|
||||||
set(value) = sharedPreferences.edit { putFloat(PLAYBACK_PITCH, value) }
|
set(value) = sharedPreferences.edit { putFloat(PLAYBACK_PITCH, value) }
|
||||||
|
|
||||||
|
val appBarMode: TopAppBarLayout.AppBarMode
|
||||||
|
get() = if (sharedPreferences.getString(APPBAR_MODE, "0") == "0") {
|
||||||
|
TopAppBarLayout.AppBarMode.COLLAPSING
|
||||||
|
} else {
|
||||||
|
TopAppBarLayout.AppBarMode.SIMPLE
|
||||||
|
}
|
||||||
}
|
}
|
||||||
enum class LyricsType {
|
enum class LyricsType {
|
||||||
REPLACE_LYRICS, OVER_LYRICS
|
REPLACE_LYRICS, OVER_LYRICS
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
package code.name.monkey.retromusic.views
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.util.AttributeSet
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import androidx.appcompat.widget.Toolbar
|
||||||
|
import code.name.monkey.retromusic.databinding.CollapsingAppbarLayoutBinding
|
||||||
|
import code.name.monkey.retromusic.databinding.SimpleAppbarLayoutBinding
|
||||||
|
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||||
|
import com.google.android.material.appbar.AppBarLayout
|
||||||
|
import com.google.android.material.shape.MaterialShapeDrawable
|
||||||
|
|
||||||
|
class TopAppBarLayout @JvmOverloads constructor(
|
||||||
|
context: Context,
|
||||||
|
attrs: AttributeSet? = null,
|
||||||
|
defStyleAttr: Int = -1,
|
||||||
|
) : AppBarLayout(context, attrs, defStyleAttr) {
|
||||||
|
private var simpleAppbarBinding: SimpleAppbarLayoutBinding? = null
|
||||||
|
private var collapsingAppbarBinding: CollapsingAppbarLayoutBinding? = null
|
||||||
|
|
||||||
|
val mode: AppBarMode = PreferenceUtil.appBarMode
|
||||||
|
|
||||||
|
init {
|
||||||
|
if (mode == AppBarMode.COLLAPSING) {
|
||||||
|
collapsingAppbarBinding =
|
||||||
|
CollapsingAppbarLayoutBinding.inflate(LayoutInflater.from(context), this, true)
|
||||||
|
} else {
|
||||||
|
simpleAppbarBinding =
|
||||||
|
SimpleAppbarLayoutBinding.inflate(LayoutInflater.from(context), this, true)
|
||||||
|
statusBarForeground = MaterialShapeDrawable.createWithElevationOverlay(context)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val toolbar: Toolbar
|
||||||
|
get() = if (mode == AppBarMode.COLLAPSING) {
|
||||||
|
collapsingAppbarBinding?.toolbar!!
|
||||||
|
} else {
|
||||||
|
simpleAppbarBinding?.toolbar!!
|
||||||
|
}
|
||||||
|
|
||||||
|
var title: String
|
||||||
|
get() = if (mode == AppBarMode.COLLAPSING) {
|
||||||
|
collapsingAppbarBinding?.collapsingToolbarLayout?.title.toString()
|
||||||
|
} else {
|
||||||
|
simpleAppbarBinding?.appNameText?.text.toString()
|
||||||
|
}
|
||||||
|
set(value) {
|
||||||
|
if (mode == AppBarMode.COLLAPSING) {
|
||||||
|
collapsingAppbarBinding?.collapsingToolbarLayout?.title = value
|
||||||
|
} else {
|
||||||
|
simpleAppbarBinding?.appNameText?.text = value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
enum class AppBarMode {
|
||||||
|
COLLAPSING,
|
||||||
|
SIMPLE
|
||||||
|
}
|
||||||
|
}
|
29
app/src/main/res/layout/collapsing_appbar_layout.xml
Normal file
29
app/src/main/res/layout/collapsing_appbar_layout.xml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<com.google.android.material.appbar.CollapsingToolbarLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:id="@+id/collapsingToolbarLayout"
|
||||||
|
style="?attr/collapsingToolbarLayoutLargeStyle"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="?attr/collapsingToolbarLayoutLargeSize"
|
||||||
|
app:collapsedTitleTextAppearance="@style/TextViewHeadline6"
|
||||||
|
app:expandedTitleMarginBottom="24dp"
|
||||||
|
app:expandedTitleMarginEnd="24dp"
|
||||||
|
app:expandedTitleMarginStart="24dp"
|
||||||
|
app:expandedTitleTextAppearance="@style/TextViewHeadline4"
|
||||||
|
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap|enterAlwaysCollapsed">
|
||||||
|
|
||||||
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
|
android:id="@+id/toolbar"
|
||||||
|
style="@style/Toolbar"
|
||||||
|
android:layout_height="?actionBarSize"
|
||||||
|
app:layout_collapseMode="pin"
|
||||||
|
app:navigationIcon="@drawable/ic_search"
|
||||||
|
app:titleTextAppearance="@style/ToolbarTextAppearanceNormal"
|
||||||
|
tools:title="@string/songs" />
|
||||||
|
|
||||||
|
<FrameLayout
|
||||||
|
android:id="@+id/toolbar_container"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"/>
|
||||||
|
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
|
@ -6,37 +6,12 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:fitsSystemWindows="true">
|
android:fitsSystemWindows="true">
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<code.name.monkey.retromusic.views.TopAppBarLayout
|
||||||
android:id="@+id/appBarLayout"
|
android:id="@+id/appBarLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:fitsSystemWindows="true">
|
style="?appBarLayoutStyle"
|
||||||
|
android:fitsSystemWindows="true" />
|
||||||
<FrameLayout
|
|
||||||
android:id="@+id/toolbar_container"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
app:layout_scrollFlags="scroll|enterAlways">
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.Toolbar
|
|
||||||
android:id="@+id/toolbar"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
app:navigationIcon="@drawable/ic_search"
|
|
||||||
app:popupTheme="?attr/toolbarPopupTheme"
|
|
||||||
app:title="@null"
|
|
||||||
tools:ignore="UnusedAttribute">
|
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
|
||||||
android:id="@+id/appNameText"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:textAppearance="@style/TextViewHeadline6"
|
|
||||||
android:textStyle="bold" />
|
|
||||||
</androidx.appcompat.widget.Toolbar>
|
|
||||||
</FrameLayout>
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
|
||||||
|
|
||||||
<code.name.monkey.retromusic.views.insets.InsetsRecyclerView
|
<code.name.monkey.retromusic.views.insets.InsetsRecyclerView
|
||||||
android:id="@+id/recycler_view"
|
android:id="@+id/recycler_view"
|
||||||
|
|
25
app/src/main/res/layout/simple_appbar_layout.xml
Normal file
25
app/src/main/res/layout/simple_appbar_layout.xml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:id="@+id/toolbar_container"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_scrollFlags="scroll|enterAlways">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.Toolbar
|
||||||
|
android:id="@+id/toolbar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:navigationIcon="@drawable/ic_search"
|
||||||
|
app:popupTheme="?attr/toolbarPopupTheme"
|
||||||
|
app:title="@null">
|
||||||
|
|
||||||
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
android:id="@+id/appNameText"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:textAppearance="@style/TextViewHeadline6"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
</androidx.appcompat.widget.Toolbar>
|
||||||
|
</FrameLayout>
|
|
@ -50,6 +50,16 @@
|
||||||
<item>@string/unlabeled</item>
|
<item>@string/unlabeled</item>
|
||||||
</array>
|
</array>
|
||||||
|
|
||||||
|
<array name="pref_appbar_mode_titles">
|
||||||
|
<item>@string/collapsing</item>
|
||||||
|
<item>@string/simple</item>
|
||||||
|
</array>
|
||||||
|
|
||||||
|
<string-array name="pref_appbar_mode_values">
|
||||||
|
<item>0</item>
|
||||||
|
<item>1</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
<string-array name="pref_general_theme_list_titles">
|
<string-array name="pref_general_theme_list_titles">
|
||||||
<item>@string/light_theme_name</item>
|
<item>@string/light_theme_name</item>
|
||||||
<item>@string/dark_theme_name</item>
|
<item>@string/dark_theme_name</item>
|
||||||
|
@ -203,4 +213,5 @@
|
||||||
<item>ur</item>
|
<item>ur</item>
|
||||||
<item>vi</item>
|
<item>vi</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
<string name="collapsing">Collapsing</string>
|
||||||
</resources>
|
</resources>
|
|
@ -532,4 +532,5 @@
|
||||||
<string name="you_will_be_forwarded_to_the_issue_tracker_website">You will be forwarded to the issue tracker website.</string>
|
<string name="you_will_be_forwarded_to_the_issue_tracker_website">You will be forwarded to the issue tracker website.</string>
|
||||||
<string name="your_account_data_is_only_used_for_authentication">Your account data is only used for authentication.</string>
|
<string name="your_account_data_is_only_used_for_authentication">Your account data is only used for authentication.</string>
|
||||||
<string name="new_music_mix">New Music Mix</string>
|
<string name="new_music_mix">New Music Mix</string>
|
||||||
|
<string name="pref_title_appbar_mode">App bar mode</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -69,6 +69,16 @@
|
||||||
android:negativeButtonText="@null"
|
android:negativeButtonText="@null"
|
||||||
android:positiveButtonText="@null"
|
android:positiveButtonText="@null"
|
||||||
android:title="@string/pref_title_tab_text_mode" />
|
android:title="@string/pref_title_tab_text_mode" />
|
||||||
|
|
||||||
|
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATEListPreference
|
||||||
|
android:defaultValue="0"
|
||||||
|
android:entries="@array/pref_appbar_mode_titles"
|
||||||
|
android:entryValues="@array/pref_appbar_mode_values"
|
||||||
|
android:key="appbar_mode"
|
||||||
|
android:layout="@layout/list_item_view"
|
||||||
|
android:negativeButtonText="@null"
|
||||||
|
android:positiveButtonText="@null"
|
||||||
|
android:title="@string/pref_title_appbar_mode" />
|
||||||
</code.name.monkey.appthemehelper.common.prefs.supportv7.ATEPreferenceCategory>
|
</code.name.monkey.appthemehelper.common.prefs.supportv7.ATEPreferenceCategory>
|
||||||
|
|
||||||
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATEPreferenceCategory
|
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATEPreferenceCategory
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue