Rewrote nav drawer to Kotlin + UI updates

Added launch screen + new Header

Removed MaterialDrawer library. Implemented Nav Draw from Support Library
This commit is contained in:
NoodleMage 2016-03-08 21:22:45 +01:00 committed by NoodleMage
parent 5b75818fc5
commit 98d420d5aa
32 changed files with 1062 additions and 276 deletions

View File

@ -154,10 +154,6 @@ dependencies {
apt "com.pushtorefresh.storio:sqlite-annotations-processor:$STORIO_VERSION" apt "com.pushtorefresh.storio:sqlite-annotations-processor:$STORIO_VERSION"
provided 'org.glassfish:javax.annotation:10.0-b28' provided 'org.glassfish:javax.annotation:10.0-b28'
compile('com.mikepenz:materialdrawer:4.6.4@aar') {
transitive = true
}
compile('com.github.afollestad.material-dialogs:core:0.8.5.6@aar') { compile('com.github.afollestad.material-dialogs:core:0.8.5.6@aar') {
transitive = true transitive = true
} }

View File

@ -17,7 +17,8 @@
android:hardwareAccelerated="true" android:hardwareAccelerated="true"
android:theme="@style/AppTheme" > android:theme="@style/AppTheme" >
<activity <activity
android:name=".ui.main.MainActivity"> android:name=".ui.main.MainActivity"
android:theme="@style/AppTheme.BrandedLaunch">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />

View File

@ -24,6 +24,7 @@ import eu.kanade.tachiyomi.util.toast
import eu.kanade.tachiyomi.widget.EndlessGridScrollListener import eu.kanade.tachiyomi.widget.EndlessGridScrollListener
import eu.kanade.tachiyomi.widget.EndlessListScrollListener import eu.kanade.tachiyomi.widget.EndlessListScrollListener
import kotlinx.android.synthetic.main.fragment_catalogue.* import kotlinx.android.synthetic.main.fragment_catalogue.*
import kotlinx.android.synthetic.main.toolbar.*
import nucleus.factory.RequiresPresenter import nucleus.factory.RequiresPresenter
import rx.Subscription import rx.Subscription
import rx.android.schedulers.AndroidSchedulers import rx.android.schedulers.AndroidSchedulers

View File

@ -28,7 +28,7 @@ class CatalogueGridHolder(private val view: View, adapter: CatalogueAdapter, lis
view.title.text = manga.title view.title.text = manga.title
// Set visibility of in library icon. // Set visibility of in library icon.
view.favorite_sticker.visibility = if (manga.favorite) View.VISIBLE else View.GONE // view.favorite_sticker.visibility = if (manga.favorite) View.VISIBLE else View.GONE
// Set alpha of thumbnail. // Set alpha of thumbnail.
view.thumbnail.alpha = if (manga.favorite) 0.3f else 1.0f view.thumbnail.alpha = if (manga.favorite) 0.3f else 1.0f

View File

@ -7,6 +7,9 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.download.DownloadService import eu.kanade.tachiyomi.data.download.DownloadService
import eu.kanade.tachiyomi.data.download.model.Download import eu.kanade.tachiyomi.data.download.model.Download
import eu.kanade.tachiyomi.ui.base.fragment.BaseRxFragment import eu.kanade.tachiyomi.ui.base.fragment.BaseRxFragment
import eu.kanade.tachiyomi.ui.main.MainActivity
import eu.kanade.tachiyomi.util.setInformationDrawable
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.fragment_download_queue.* import kotlinx.android.synthetic.main.fragment_download_queue.*
import nucleus.factory.RequiresPresenter import nucleus.factory.RequiresPresenter
import rx.Subscription import rx.Subscription
@ -73,6 +76,9 @@ class DownloadFragment : BaseRxFragment<DownloadPresenter>() {
override fun onViewCreated(view: View, savedState: Bundle?) { override fun onViewCreated(view: View, savedState: Bundle?) {
setToolbarTitle(R.string.label_download_queue) setToolbarTitle(R.string.label_download_queue)
// Check if download queue is empty and update information accordingly.
setInformationView()
// Initialize adapter. // Initialize adapter.
adapter = DownloadAdapter(activity) adapter = DownloadAdapter(activity)
recycler.adapter = adapter recycler.adapter = adapter
@ -138,6 +144,9 @@ class DownloadFragment : BaseRxFragment<DownloadPresenter>() {
startButton?.isVisible = !running && !presenter.downloadQueue.isEmpty() startButton?.isVisible = !running && !presenter.downloadQueue.isEmpty()
pauseButton?.isVisible = running pauseButton?.isVisible = running
clearButton?.isVisible = running clearButton?.isVisible = running
// Check if download queue is empty and update information accordingly.
setInformationView()
} }
/** /**
@ -177,4 +186,14 @@ class DownloadFragment : BaseRxFragment<DownloadPresenter>() {
return recycler.findViewHolderForItemId(download.chapter.id) as? DownloadHolder return recycler.findViewHolderForItemId(download.chapter.id) as? DownloadHolder
} }
/**
* Set information view when queue is empty
*/
private fun setInformationView() {
if (presenter.downloadQueue.isEmpty()) {
( activity as MainActivity).image_view.setInformationDrawable(R.drawable.ic_file_download_grey_128dp)
( activity as MainActivity).text_label.text = getString(R.string.information_no_downloads)
}
}
} }

View File

@ -20,7 +20,9 @@ import eu.kanade.tachiyomi.ui.base.fragment.BaseRxFragment
import eu.kanade.tachiyomi.ui.category.CategoryActivity import eu.kanade.tachiyomi.ui.category.CategoryActivity
import eu.kanade.tachiyomi.ui.main.MainActivity import eu.kanade.tachiyomi.ui.main.MainActivity
import eu.kanade.tachiyomi.util.inflate import eu.kanade.tachiyomi.util.inflate
import eu.kanade.tachiyomi.util.setInformationDrawable
import eu.kanade.tachiyomi.util.toast import eu.kanade.tachiyomi.util.toast
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.fragment_library.* import kotlinx.android.synthetic.main.fragment_library.*
import nucleus.factory.RequiresPresenter import nucleus.factory.RequiresPresenter
import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.EventBus
@ -124,7 +126,7 @@ class LibraryFragment : BaseRxFragment<LibraryPresenter>(), ActionMode.Callback
override fun onViewCreated(view: View, savedState: Bundle?) { override fun onViewCreated(view: View, savedState: Bundle?) {
setToolbarTitle(getString(R.string.label_library)) setToolbarTitle(getString(R.string.label_library))
appBar = (activity as MainActivity).appBar appBar = (activity as MainActivity).appbar
tabs = appBar.inflate(R.layout.library_tab_layout) as TabLayout tabs = appBar.inflate(R.layout.library_tab_layout) as TabLayout
// Workaround to prevent: Tab belongs to a different TabLayout. // Workaround to prevent: Tab belongs to a different TabLayout.
@ -257,6 +259,15 @@ class LibraryFragment : BaseRxFragment<LibraryPresenter>(), ActionMode.Callback
* @param mangaMap a map containing the manga for each category. * @param mangaMap a map containing the manga for each category.
*/ */
fun onNextLibraryUpdate(categories: List<Category>, mangaMap: Map<Int, List<Manga>>) { fun onNextLibraryUpdate(categories: List<Category>, mangaMap: Map<Int, List<Manga>>) {
// Check if library is empty and update information accordingly.
if (mangaMap.isEmpty()) {
(activity as MainActivity).image_view.setInformationDrawable(R.drawable.ic_book_grey_128dp)
(activity as MainActivity).text_label.text = getString(R.string.information_empty_library)
} else {
( activity as MainActivity).image_view.setInformationDrawable(null)
( activity as MainActivity).text_label.text = ""
}
// Get the current active category. // Get the current active category.
val activeCat = if (adapter.categories != null) view_pager.currentItem else activeCategory val activeCat = if (adapter.categories != null) view_pager.currentItem else activeCategory

View File

@ -1,220 +0,0 @@
package eu.kanade.tachiyomi.ui.main;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.AppBarLayout;
import android.support.v4.app.Fragment;
import android.support.v4.content.ContextCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.widget.Toolbar;
import android.widget.FrameLayout;
import com.mikepenz.materialdrawer.Drawer;
import com.mikepenz.materialdrawer.DrawerBuilder;
import com.mikepenz.materialdrawer.holder.ImageHolder;
import com.mikepenz.materialdrawer.model.DividerDrawerItem;
import com.mikepenz.materialdrawer.model.PrimaryDrawerItem;
import butterknife.Bind;
import butterknife.ButterKnife;
import eu.kanade.tachiyomi.R;
import eu.kanade.tachiyomi.ui.base.activity.BaseActivity;
import eu.kanade.tachiyomi.ui.catalogue.CatalogueFragment;
import eu.kanade.tachiyomi.ui.download.DownloadFragment;
import eu.kanade.tachiyomi.ui.library.LibraryFragment;
import eu.kanade.tachiyomi.ui.recent.RecentChaptersFragment;
import eu.kanade.tachiyomi.ui.setting.SettingsActivity;
import icepick.State;
import nucleus.view.ViewWithPresenter;
public class MainActivity extends BaseActivity {
@Bind(R.id.appbar) AppBarLayout appBar;
@Bind(R.id.toolbar) Toolbar toolbar;
@Bind(R.id.drawer_container) FrameLayout container;
@State
int selectedItem;
private Drawer drawer;
private FragmentStack fragmentStack;
private int prevIdentifier = -1;
@Override
protected void onCreate(Bundle savedState) {
super.onCreate(savedState);
// Do not let the launcher create a new activity
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
finish();
return;
}
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
setupToolbar(toolbar);
fragmentStack = new FragmentStack(this, getSupportFragmentManager(), R.id.content_layout,
fragment -> {
if (fragment instanceof ViewWithPresenter)
((ViewWithPresenter) fragment).getPresenter().destroy();
});
drawer = new DrawerBuilder()
.withActivity(this)
.withRootView(container)
.withToolbar(toolbar)
.withActionBarDrawerToggleAnimated(true)
.withOnDrawerNavigationListener(view -> {
if (fragmentStack.size() > 1) {
onBackPressed();
return true;
}
return false;
})
.addDrawerItems(
new PrimaryDrawerItem()
.withName(R.string.label_library)
.withIdentifier(R.id.nav_drawer_library)
.withIcon(ContextCompat.getDrawable(this, R.drawable.ic_book_grey_24dp)),
new PrimaryDrawerItem()
.withName(R.string.label_recent_updates)
.withIdentifier(R.id.nav_drawer_recent_updates)
.withIcon(ContextCompat.getDrawable(this, R.drawable.ic_history_grey_24dp)),
new PrimaryDrawerItem()
.withName(R.string.label_catalogues)
.withIdentifier(R.id.nav_drawer_catalogues)
.withIcon(ContextCompat.getDrawable(this, R.drawable.ic_explore_grey_24dp)),
new PrimaryDrawerItem()
.withName(R.string.label_download_queue)
.withIdentifier(R.id.nav_drawer_downloads)
.withIcon(ContextCompat.getDrawable(this, R.drawable.ic_file_download_grey_24dp)),
new DividerDrawerItem(),
new PrimaryDrawerItem()
.withName(R.string.label_settings)
.withIdentifier(R.id.nav_drawer_settings)
.withSelectable(false)
.withIcon(ContextCompat.getDrawable(this, R.drawable.ic_settings_grey_24dp))
)
.withSavedInstance(savedState)
.withOnDrawerItemClickListener(
(view, position, drawerItem) -> {
if (drawerItem != null) {
int identifier = drawerItem.getIdentifier();
if (prevIdentifier != -1)
setIconBackToGrey(prevIdentifier, identifier);
prevIdentifier = identifier;
switch (identifier) {
case R.id.nav_drawer_library:
drawer.updateIcon(identifier, new ImageHolder(ContextCompat.getDrawable(this, R.drawable.ic_book_blue_24dp)));
setFragment(LibraryFragment.newInstance());
break;
case R.id.nav_drawer_recent_updates:
drawer.updateIcon(identifier, new ImageHolder(ContextCompat.getDrawable(this, R.drawable.ic_history_blue_24dp)));
setFragment(RecentChaptersFragment.newInstance());
break;
case R.id.nav_drawer_catalogues:
drawer.updateIcon(identifier, new ImageHolder(ContextCompat.getDrawable(this, R.drawable.ic_explore_blue_24dp)));
setFragment(CatalogueFragment.newInstance());
break;
case R.id.nav_drawer_downloads:
drawer.updateIcon(identifier, new ImageHolder(ContextCompat.getDrawable(this, R.drawable.ic_file_download_blue_24dp)));
setFragment(DownloadFragment.newInstance());
break;
case R.id.nav_drawer_settings:
startActivity(new Intent(this, SettingsActivity.class));
break;
}
}
return false;
}
)
.build();
if (savedState != null) {
// Recover icon state after rotation
if (fragmentStack.size() > 1) {
showBackArrow();
}
// Set saved selection
drawer.setSelection(selectedItem, false);
} else {
// Set default selection
drawer.setSelection(R.id.nav_drawer_library);
}
}
private void setIconBackToGrey(int prevIdentifier, int identifier) {
// Don't set to grey when settings
if (identifier == R.id.nav_drawer_settings)
return;
switch (prevIdentifier) {
case R.id.nav_drawer_library:
drawer.updateIcon(prevIdentifier, new ImageHolder(ContextCompat.getDrawable(this, R.drawable.ic_book_grey_24dp)));
break;
case R.id.nav_drawer_recent_updates:
drawer.updateIcon(prevIdentifier, new ImageHolder(ContextCompat.getDrawable(this, R.drawable.ic_history_grey_24dp)));
break;
case R.id.nav_drawer_catalogues:
drawer.updateIcon(prevIdentifier, new ImageHolder(ContextCompat.getDrawable(this, R.drawable.ic_explore_grey_24dp)));
break;
case R.id.nav_drawer_downloads:
drawer.updateIcon(prevIdentifier, new ImageHolder(ContextCompat.getDrawable(this, R.drawable.ic_file_download_grey_24dp)));
break;
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
selectedItem = drawer.getCurrentSelection();
super.onSaveInstanceState(outState);
}
public void setFragment(Fragment fragment) {
fragmentStack.replace(fragment);
}
public void pushFragment(Fragment fragment) {
fragmentStack.push(fragment);
if (fragmentStack.size() > 1) {
showBackArrow();
}
}
@Override
public void onBackPressed() {
if (!fragmentStack.pop()) {
super.onBackPressed();
} else if (fragmentStack.size() == 1) {
showHamburgerIcon();
drawer.getActionBarDrawerToggle().syncState();
}
}
private void showHamburgerIcon() {
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
drawer.getActionBarDrawerToggle().setDrawerIndicatorEnabled(true);
drawer.getDrawerLayout().setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
}
}
private void showBackArrow() {
if (getSupportActionBar() != null) {
drawer.getActionBarDrawerToggle().setDrawerIndicatorEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
drawer.getDrawerLayout().setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
}
}
public Toolbar getToolbar() {
return toolbar;
}
public AppBarLayout getAppBar() {
return appBar;
}
}

View File

@ -0,0 +1,101 @@
package eu.kanade.tachiyomi.ui.main
import android.content.Intent
import android.os.Bundle
import android.support.v4.app.Fragment
import android.support.v4.view.GravityCompat
import android.view.MenuItem
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.ui.base.activity.BaseActivity
import eu.kanade.tachiyomi.ui.catalogue.CatalogueFragment
import eu.kanade.tachiyomi.ui.download.DownloadFragment
import eu.kanade.tachiyomi.ui.library.LibraryFragment
import eu.kanade.tachiyomi.ui.recent.RecentChaptersFragment
import eu.kanade.tachiyomi.ui.setting.SettingsActivity
import eu.kanade.tachiyomi.util.setInformationDrawable
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.toolbar.*
import nucleus.view.ViewWithPresenter
class MainActivity : BaseActivity() {
lateinit var fragmentStack: FragmentStack
override fun onCreate(savedState: Bundle?) {
setTheme(R.style.AppTheme);
super.onCreate(savedState)
// Do not let the launcher create a new activity
if (intent.flags and Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT != 0) {
finish()
return
}
// Inflate activity_edit_categories.xml.
setContentView(R.layout.activity_main)
// Handle Toolbar
setupToolbar(toolbar)
supportActionBar?.setHomeAsUpIndicator(R.drawable.ic_menu_white_24dp)
fragmentStack = FragmentStack(this, supportFragmentManager, R.id.frame_container
) { fragment ->
if (fragment is ViewWithPresenter<*>)
fragment.presenter.destroy()
}
// Set behavior of Navigation drawer
nav_view.setNavigationItemSelectedListener(
{ menuItem ->
// Make information view invisible
image_view.setInformationDrawable(null)
text_label.text = ""
when (menuItem.itemId) {
R.id.nav_drawer_library -> {
setFragment(LibraryFragment.newInstance())
menuItem.isChecked = true
drawer.closeDrawer(GravityCompat.START)
}
R.id.nav_drawer_recent_updates -> {
setFragment(RecentChaptersFragment.newInstance())
menuItem.isChecked = true
drawer.closeDrawer(GravityCompat.START)
}
R.id.nav_drawer_catalogues -> {
setFragment(CatalogueFragment.newInstance())
menuItem.isChecked = true
drawer.closeDrawer(GravityCompat.START)
}
R.id.nav_drawer_downloads -> {
setFragment(DownloadFragment.newInstance())
menuItem.isChecked = true
drawer.closeDrawer(GravityCompat.START)
}
R.id.nav_drawer_settings -> {
menuItem.isChecked = true
startActivity(Intent(this, SettingsActivity::class.java))
drawer.closeDrawer(GravityCompat.START)
}
}
true
})
setFragment(LibraryFragment.newInstance())
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
android.R.id.home -> {
drawer.openDrawer(GravityCompat.START)
return true
}
}
return super.onOptionsItemSelected(item)
}
fun setFragment(fragment: Fragment) {
fragmentStack.replace(fragment)
}
}

View File

@ -15,7 +15,10 @@ import eu.kanade.tachiyomi.data.download.model.Download
import eu.kanade.tachiyomi.ui.base.adapter.FlexibleViewHolder import eu.kanade.tachiyomi.ui.base.adapter.FlexibleViewHolder
import eu.kanade.tachiyomi.ui.base.decoration.DividerItemDecoration import eu.kanade.tachiyomi.ui.base.decoration.DividerItemDecoration
import eu.kanade.tachiyomi.ui.base.fragment.BaseRxFragment import eu.kanade.tachiyomi.ui.base.fragment.BaseRxFragment
import eu.kanade.tachiyomi.ui.main.MainActivity
import eu.kanade.tachiyomi.ui.reader.ReaderActivity import eu.kanade.tachiyomi.ui.reader.ReaderActivity
import eu.kanade.tachiyomi.util.setInformationDrawable
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.fragment_recent_chapters.* import kotlinx.android.synthetic.main.fragment_recent_chapters.*
import nucleus.factory.RequiresPresenter import nucleus.factory.RequiresPresenter
import rx.Observable import rx.Observable
@ -75,6 +78,11 @@ class RecentChaptersFragment : BaseRxFragment<RecentChaptersPresenter>(), Flexib
// Update toolbar text // Update toolbar text
setToolbarTitle(R.string.label_recent_updates) setToolbarTitle(R.string.label_recent_updates)
// Check if recent chapters is empty and update information accordingly.
(activity as MainActivity).image_view.setInformationDrawable(R.drawable.ic_history_grey_128dp)
(activity as MainActivity).text_label.text = getString(R.string.information_no_recent)
(activity as MainActivity).information_layout.bringToFront()
} }
/** /**
@ -121,6 +129,10 @@ class RecentChaptersFragment : BaseRxFragment<RecentChaptersPresenter>(), Flexib
* @param chapters list of chapters * @param chapters list of chapters
*/ */
fun onNextMangaChapters(chapters: List<Any>) { fun onNextMangaChapters(chapters: List<Any>) {
if (!chapters.isEmpty()) {
( activity as MainActivity).image_view.setInformationDrawable(null)
( activity as MainActivity).text_label.text = ""
}
adapter.setItems(chapters) adapter.setItems(chapters)
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
android:opacity="opaque">
<item android:drawable="@color/background_material_light"/>
<item>
<bitmap
android:src="@drawable/application_logo_144dp"
android:gravity="center"/>
</item>
</layer-list>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="128dp"
android:height="128dp"
android:alpha=".38"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M18,2H6c-1.1,0 -2,0.9 -2,2v16c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2V4c0,-1.1 -0.9,-2 -2,-2zM6,4h5v8l-2.5,-1.5L6,12V4z"/>
</vector>

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="128dp"
android:height="128dp"
android:alpha=".38"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z"/>
</vector>

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="128dp"
android:height="128dp"
android:alpha=".38"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89 0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0 -3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M3,18h18v-2L3,16v2zM3,13h18v-2L3,11v2zM3,6v2h18L21,6L3,6z"/>
</vector>

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -1,32 +1,66 @@
<android.support.design.widget.CoordinatorLayout <?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer"
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:gravity="center"> android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout <RelativeLayout
android:id="@+id/appbar" android:id="@+id/main_content"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="match_parent">
<include layout="@layout/toolbar" /> <android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.design.widget.AppBarLayout> <include layout="@layout/toolbar"/>
</android.support.design.widget.AppBarLayout>
<!-- the layout which will contain (host) the drawerLayout -->
<FrameLayout
android:id="@+id/drawer_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<!-- the layout which will be the content of the activity (which will be hosted inside the drawer (NOT the list of the drawer)) -->
<FrameLayout <FrameLayout
android:id="@+id/frame_container" android:id="@+id/frame_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:layout_below="@id/appbar">
<RelativeLayout
android:id="@+id/information_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<ImageView
android:id="@+id/image_view"
android:layout_width="128dp"
android:layout_height="128dp"
android:layout_centerHorizontal="true"/>
<TextView
android:id="@+id/text_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/image_view"
android:layout_centerHorizontal="true"
android:alpha=".87"
android:textSize="24sp"/>
</RelativeLayout>
</FrameLayout> </FrameLayout>
</FrameLayout> </RelativeLayout>
</android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/navigation_header"
app:menu="@menu/menu_navigation"/>
</android.support.v4.widget.DrawerLayout>

View File

@ -49,17 +49,17 @@
android:visibility="gone"/> android:visibility="gone"/>
<com.mikepenz.iconics.view.IconicsImageView <!--<com.mikepenz.iconics.view.IconicsImageView-->
android:id="@+id/favorite_sticker" <!--android:id="@+id/favorite_sticker"-->
android:layout_width="24dp" <!--android:layout_width="24dp"-->
android:layout_height="24dp" <!--android:layout_height="24dp"-->
android:layout_alignEnd="@+id/image_container" <!--android:layout_alignEnd="@+id/image_container"-->
android:layout_alignRight="@+id/image_container" <!--android:layout_alignRight="@+id/image_container"-->
android:layout_alignTop="@+id/image_container" <!--android:layout_alignTop="@+id/image_container"-->
android:layout_marginEnd="5dp" <!--android:layout_marginEnd="5dp"-->
android:layout_marginRight="5dp" <!--android:layout_marginRight="5dp"-->
android:layout_marginTop="5dp" <!--android:layout_marginTop="5dp"-->
android:visibility="invisible"/> <!--android:visibility="invisible"/>-->
<eu.kanade.tachiyomi.widget.PTSansTextView <eu.kanade.tachiyomi.widget.PTSansTextView
android:id="@+id/title" android:id="@+id/title"

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="192dp"
android:gravity="bottom"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:background="@drawable/header" />
<ImageView
android:layout_marginLeft="16dp"
android:layout_marginTop="@dimen/navigation_drawer_header_margin"
android:layout_width="64dp"
android:layout_height="64dp"
android:scaleType="centerCrop"
android:src="@drawable/test" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="52dp"
android:layout_gravity="left|bottom"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="8dp"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center_vertical"
android:text="Desarrollador Android"
android:textAppearance="@style/TextAppearance.AppCompat.Body2" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center_vertical"
android:text="thedahnark@gmail.com"
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
</LinearLayout>
</FrameLayout>

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:id="@+id/group_feature"
android:checkableBehavior="single">
<item
android:checked="true"
android:id="@+id/nav_drawer_library"
android:icon="@drawable/ic_book_grey_24dp"
android:title="@string/label_library" />
<item
android:id="@+id/nav_drawer_recent_updates"
android:icon="@drawable/ic_history_grey_24dp"
android:title="@string/label_recent_updates" />
<item
android:id="@+id/nav_drawer_catalogues"
android:icon="@drawable/ic_explore_grey_24dp"
android:title="@string/label_catalogues" />
<item
android:id="@+id/nav_drawer_downloads"
android:icon="@drawable/ic_file_download_grey_24dp"
android:title="@string/label_download_queue" />
</group>
<group android:id="@+id/group_settings"
android:checkableBehavior="single">
<item
android:id="@+id/nav_drawer_settings"
android:icon="@drawable/ic_settings_grey_24dp"
android:title="@string/label_settings" />
</group>
</menu>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--Nav header-->
<dimen name="navigation_drawer_header_margin">41dp</dimen>
</resources>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="AppTheme.Base">
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
</resources>

View File

@ -16,9 +16,9 @@
<color name="divider">@color/md_light_dividers</color> <color name="divider">@color/md_light_dividers</color>
<color name="white">@color/md_white_1000</color> <color name="white">@color/md_white_1000</color>
<color name="primary_text">@color/md_light_primary_text</color> <color name="primary_text">#000000</color>
<color name="secondary_text">@color/md_light_secondary</color> <color name="secondary_text">#000000</color>
<color name="hint_text">@color/md_light_disabled</color> <color name="hint_text">#000000</color>
<color name="accent_text">@color/md_green_900</color> <color name="accent_text">@color/md_green_900</color>
<color name="list_choice_pressed_bg_light">@color/colorPrimaryLight</color> <color name="list_choice_pressed_bg_light">@color/colorPrimaryLight</color>
@ -33,4 +33,687 @@
<color name="page_number_background_black">#99252525</color> <color name="page_number_background_black">#99252525</color>
<color name="reader_menu_background">@color/colorPrimarySuperDark</color> <color name="reader_menu_background">@color/colorPrimarySuperDark</color>
<color name="md_light_dividers">@color/md_blue_400</color>
<!-- google's material design colours from
http://www.google.com/design/spec/style/color.html#color-ui-color-palette -->
<!--reds-->
<array name="reds">
<item>@color/md_red_500</item>
<item>@color/md_red_50</item>
<item>@color/md_red_100</item>
<item>@color/md_red_200</item>
<item>@color/md_red_300</item>
<item>@color/md_red_400</item>
<item>@color/md_red_600</item>
<item>@color/md_red_700</item>
<item>@color/md_red_800</item>
<item>@color/md_red_900</item>
<item>@color/md_red_A100</item>
<item>@color/md_red_A200</item>
<item>@color/md_red_A400</item>
<item>@color/md_red_A700</item>
</array>
<color name="md_red_50">#ffebee</color>
<color name="md_red_100">#ffcdd2</color>
<color name="md_red_200">#ef9a9a</color>
<color name="md_red_300">#e57373</color>
<color name="md_red_400">#ef5350</color>
<color name="md_red_500">#f44336</color>
<color name="md_red_600">#e53935</color>
<color name="md_red_700">#d32f2f</color>
<color name="md_red_800">#c62828</color>
<color name="md_red_900">#b71c1c</color>
<color name="md_red_A100">#ff8a80</color>
<color name="md_red_A200">#ff5252</color>
<color name="md_red_A400">#ff1744</color>
<color name="md_red_A700">#d50000</color>
<color name="md_red_500_25">#40f44336</color>
<color name="md_red_500_50">#80f44336</color>
<color name="md_red_500_75">#c0f44336</color>
<!-- pinks -->
<array name="pinks">
<item>@color/md_pink_500</item>
<item>@color/md_pink_50</item>
<item>@color/md_pink_100</item>
<item>@color/md_pink_200</item>
<item>@color/md_pink_300</item>
<item>@color/md_pink_400</item>
<item>@color/md_pink_600</item>
<item>@color/md_pink_700</item>
<item>@color/md_pink_800</item>
<item>@color/md_pink_900</item>
<item>@color/md_pink_A100</item>
<item>@color/md_pink_A200</item>
<item>@color/md_pink_A400</item>
<item>@color/md_pink_A700</item>
</array>
<color name="md_pink_50">#fce4ec</color>
<color name="md_pink_100">#f8bbd0</color>
<color name="md_pink_200">#f48fb1</color>
<color name="md_pink_300">#f06292</color>
<color name="md_pink_400">#ec407a</color>
<color name="md_pink_500">#e91e63</color>
<color name="md_pink_600">#d81b60</color>
<color name="md_pink_700">#c2185b</color>
<color name="md_pink_800">#ad1457</color>
<color name="md_pink_900">#880e4f</color>
<color name="md_pink_A100">#ff80ab</color>
<color name="md_pink_A200">#ff4081</color>
<color name="md_pink_A400">#f50057</color>
<color name="md_pink_A700">#c51162</color>
<color name="md_pink_500_25">#40e91e63</color>
<color name="md_pink_500_50">#80e91e63</color>
<color name="md_pink_500_75">#c0e91e63</color>
<!-- purples -->
<array name="purples">
<item>@color/md_purple_500</item>
<item>@color/md_purple_50</item>
<item>@color/md_purple_100</item>
<item>@color/md_purple_200</item>
<item>@color/md_purple_300</item>
<item>@color/md_purple_400</item>
<item>@color/md_purple_600</item>
<item>@color/md_purple_700</item>
<item>@color/md_purple_800</item>
<item>@color/md_purple_900</item>
<item>@color/md_purple_A100</item>
<item>@color/md_purple_A200</item>
<item>@color/md_purple_A400</item>
<item>@color/md_purple_A700</item>
</array>
<color name="md_purple_50">#f3e5f5</color>
<color name="md_purple_100">#e1bee7</color>
<color name="md_purple_200">#ce93d8</color>
<color name="md_purple_300">#ba68c8</color>
<color name="md_purple_400">#ab47bc</color>
<color name="md_purple_500">#9c27b0</color>
<color name="md_purple_600">#8e24aa</color>
<color name="md_purple_700">#7b1fa2</color>
<color name="md_purple_800">#6a1b9a</color>
<color name="md_purple_900">#4a148c</color>
<color name="md_purple_A100">#ea80fc</color>
<color name="md_purple_A200">#e040fb</color>
<color name="md_purple_A400">#d500f9</color>
<color name="md_purple_A700">#aa00ff</color>
<color name="md_purple_500_25">#409c27b0</color>
<color name="md_purple_500_50">#809c27b0</color>
<color name="md_purple_500_75">#c09c27b0</color>
<!-- deep purples -->
<array name="deep_purples">
<item>@color/md_deep_purple_500</item>
<item>@color/md_deep_purple_50</item>
<item>@color/md_deep_purple_100</item>
<item>@color/md_deep_purple_200</item>
<item>@color/md_deep_purple_300</item>
<item>@color/md_deep_purple_400</item>
<item>@color/md_deep_purple_600</item>
<item>@color/md_deep_purple_700</item>
<item>@color/md_deep_purple_800</item>
<item>@color/md_deep_purple_900</item>
<item>@color/md_deep_purple_A100</item>
<item>@color/md_deep_purple_A200</item>
<item>@color/md_deep_purple_A400</item>
<item>@color/md_deep_purple_A700</item>
</array>
<color name="md_deep_purple_50">#ede7f6</color>
<color name="md_deep_purple_100">#d1c4e9</color>
<color name="md_deep_purple_200">#b39ddb</color>
<color name="md_deep_purple_300">#9575cd</color>
<color name="md_deep_purple_400">#7e57c2</color>
<color name="md_deep_purple_500">#673ab7</color>
<color name="md_deep_purple_600">#5e35b1</color>
<color name="md_deep_purple_700">#512da8</color>
<color name="md_deep_purple_800">#4527a0</color>
<color name="md_deep_purple_900">#311b92</color>
<color name="md_deep_purple_A100">#b388ff</color>
<color name="md_deep_purple_A200">#7c4dff</color>
<color name="md_deep_purple_A400">#651fff</color>
<color name="md_deep_purple_A700">#6200ea</color>
<color name="md_deep_purple_500_25">#40673ab7</color>
<color name="md_deep_purple_500_50">#80673ab7</color>
<color name="md_deep_purple_500_75">#c0673ab7</color>
<!-- indigos -->
<array name="indigos">
<item>@color/md_indigo_500</item>
<item>@color/md_indigo_50</item>
<item>@color/md_indigo_100</item>
<item>@color/md_indigo_200</item>
<item>@color/md_indigo_300</item>
<item>@color/md_indigo_400</item>
<item>@color/md_indigo_600</item>
<item>@color/md_indigo_700</item>
<item>@color/md_indigo_800</item>
<item>@color/md_indigo_900</item>
<item>@color/md_indigo_A100</item>
<item>@color/md_indigo_A200</item>
<item>@color/md_indigo_A400</item>
<item>@color/md_indigo_A700</item>
</array>
<color name="md_indigo_50">#e8eaf6</color>
<color name="md_indigo_100">#c5cae9</color>
<color name="md_indigo_200">#9fa8da</color>
<color name="md_indigo_300">#7986cb</color>
<color name="md_indigo_400">#5c6bc0</color>
<color name="md_indigo_500">#3f51b5</color>
<color name="md_indigo_600">#3949ab</color>
<color name="md_indigo_700">#303f9f</color>
<color name="md_indigo_800">#283593</color>
<color name="md_indigo_900">#1a237e</color>
<color name="md_indigo_A100">#8c9eff</color>
<color name="md_indigo_A200">#536dfe</color>
<color name="md_indigo_A400">#3d5afe</color>
<color name="md_indigo_A700">#304ffe</color>
<color name="md_indigo_500_25">#403f51b5</color>
<color name="md_indigo_500_50">#803f51b5</color>
<color name="md_indigo_500_75">#c03f51b5</color>
<!--blues-->
<array name="blues">
<item>@color/md_blue_500</item>
<item>@color/md_blue_50</item>
<item>@color/md_blue_100</item>
<item>@color/md_blue_200</item>
<item>@color/md_blue_300</item>
<item>@color/md_blue_400</item>
<item>@color/md_blue_600</item>
<item>@color/md_blue_700</item>
<item>@color/md_blue_800</item>
<item>@color/md_blue_900</item>
<item>@color/md_blue_A100</item>
<item>@color/md_blue_A200</item>
<item>@color/md_blue_A400</item>
<item>@color/md_blue_A700</item>
</array>
<color name="md_blue_50">#e3f2fd</color>
<color name="md_blue_100">#bbdefb</color>
<color name="md_blue_200">#90caf9</color>
<color name="md_blue_300">#64b5f6</color>
<color name="md_blue_400">#42a5f5</color>
<color name="md_blue_500">#2196f3</color>
<color name="md_blue_600">#1e88e5</color>
<color name="md_blue_700">#1976d2</color>
<color name="md_blue_800">#1565c0</color>
<color name="md_blue_900">#0d47a1</color>
<color name="md_blue_A100">#82b1ff</color>
<color name="md_blue_A200">#448aff</color>
<color name="md_blue_A400">#2979ff</color>
<color name="md_blue_A700">#2962ff</color>
<color name="md_blue_500_25">#402196f3</color>
<color name="md_blue_500_50">#802196f3</color>
<color name="md_blue_500_75">#c02196f3</color>
<!-- light blues-->
<array name="light_blues">
<item>@color/md_light_blue_500</item>
<item>@color/md_light_blue_50</item>
<item>@color/md_light_blue_100</item>
<item>@color/md_light_blue_200</item>
<item>@color/md_light_blue_300</item>
<item>@color/md_light_blue_400</item>
<item>@color/md_light_blue_600</item>
<item>@color/md_light_blue_700</item>
<item>@color/md_light_blue_800</item>
<item>@color/md_light_blue_900</item>
<item>@color/md_light_blue_A100</item>
<item>@color/md_light_blue_A200</item>
<item>@color/md_light_blue_A400</item>
<item>@color/md_light_blue_A700</item>
</array>
<color name="md_light_blue_50">#e1f5fe</color>
<color name="md_light_blue_100">#b3e5fc</color>
<color name="md_light_blue_200">#81d4fa</color>
<color name="md_light_blue_300">#4fc3f7</color>
<color name="md_light_blue_400">#29b6f6</color>
<color name="md_light_blue_500">#03a9f4</color>
<color name="md_light_blue_600">#039be5</color>
<color name="md_light_blue_700">#0288d1</color>
<color name="md_light_blue_800">#0277bd</color>
<color name="md_light_blue_900">#01579b</color>
<color name="md_light_blue_A100">#80d8ff</color>
<color name="md_light_blue_A200">#40c4ff</color>
<color name="md_light_blue_A400">#00b0ff</color>
<color name="md_light_blue_A700">#0091ea</color>
<color name="md_light_blue_500_25">#4003a9f4</color>
<color name="md_light_blue_500_50">#8003a9f4</color>
<color name="md_light_blue_500_75">#c003a9f4</color>
<!-- cyans -->
<array name="cyans">
<item>@color/md_cyan_500</item>
<item>@color/md_cyan_50</item>
<item>@color/md_cyan_100</item>
<item>@color/md_cyan_200</item>
<item>@color/md_cyan_300</item>
<item>@color/md_cyan_400</item>
<item>@color/md_cyan_600</item>
<item>@color/md_cyan_700</item>
<item>@color/md_cyan_800</item>
<item>@color/md_cyan_900</item>
<item>@color/md_cyan_A100</item>
<item>@color/md_cyan_A200</item>
<item>@color/md_cyan_A400</item>
<item>@color/md_cyan_A700</item>
</array>
<color name="md_cyan_50">#e0f7fa</color>
<color name="md_cyan_100">#b2ebf2</color>
<color name="md_cyan_200">#80deea</color>
<color name="md_cyan_300">#4dd0e1</color>
<color name="md_cyan_400">#26c6da</color>
<color name="md_cyan_500">#00bcd4</color>
<color name="md_cyan_600">#00acc1</color>
<color name="md_cyan_700">#0097a7</color>
<color name="md_cyan_800">#00838f</color>
<color name="md_cyan_900">#006064</color>
<color name="md_cyan_A100">#84ffff</color>
<color name="md_cyan_A200">#18ffff</color>
<color name="md_cyan_A400">#00e5ff</color>
<color name="md_cyan_A700">#00b8d4</color>
<color name="md_cyan_500_25">#4000bcd4</color>
<color name="md_cyan_500_50">#8000bcd4</color>
<color name="md_cyan_500_75">#c000bcd4</color>
<!-- teals -->
<array name="teals">
<item>@color/md_teal_500</item>
<item>@color/md_teal_50</item>
<item>@color/md_teal_100</item>
<item>@color/md_teal_200</item>
<item>@color/md_teal_300</item>
<item>@color/md_teal_400</item>
<item>@color/md_teal_600</item>
<item>@color/md_teal_700</item>
<item>@color/md_teal_800</item>
<item>@color/md_teal_900</item>
<item>@color/md_teal_A100</item>
<item>@color/md_teal_A200</item>
<item>@color/md_teal_A400</item>
<item>@color/md_teal_A700</item>
</array>
<color name="md_teal_50">#e0f2f1</color>
<color name="md_teal_100">#b2dfdb</color>
<color name="md_teal_200">#80cbc4</color>
<color name="md_teal_300">#4db6ac</color>
<color name="md_teal_400">#26a69a</color>
<color name="md_teal_500">#009688</color>
<color name="md_teal_600">#00897b</color>
<color name="md_teal_700">#00796b</color>
<color name="md_teal_800">#00695c</color>
<color name="md_teal_900">#004d40</color>
<color name="md_teal_A100">#a7ffeb</color>
<color name="md_teal_A200">#64ffda</color>
<color name="md_teal_A400">#1de9b6</color>
<color name="md_teal_A700">#00bfa5</color>
<color name="md_teal_500_25">#40009688</color>
<color name="md_teal_500_50">#80009688</color>
<color name="md_teal_500_75">#c8009688</color>
<!-- greens -->
<array name="greens">
<item>@color/md_green_500</item>
<item>@color/md_green_50</item>
<item>@color/md_green_100</item>
<item>@color/md_green_200</item>
<item>@color/md_green_300</item>
<item>@color/md_green_400</item>
<item>@color/md_green_600</item>
<item>@color/md_green_700</item>
<item>@color/md_green_800</item>
<item>@color/md_green_900</item>
<item>@color/md_green_A100</item>
<item>@color/md_green_A200</item>
<item>@color/md_green_A400</item>
<item>@color/md_green_A700</item>
</array>
<color name="md_green_50">#e8f5e9</color>
<color name="md_green_100">#c8e6c9</color>
<color name="md_green_200">#a5d6a7</color>
<color name="md_green_300">#81c784</color>
<color name="md_green_400">#66bb6a</color>
<color name="md_green_500">#4caf50</color>
<color name="md_green_600">#43a047</color>
<color name="md_green_700">#388e3c</color>
<color name="md_green_800">#2e7d32</color>
<color name="md_green_900">#1b5e20</color>
<color name="md_green_A100">#b9f6ca</color>
<color name="md_green_A200">#69f0ae</color>
<color name="md_green_A400">#00e676</color>
<color name="md_green_A700">#00c853</color>
<color name="md_green_500_25">#404caf50</color>
<color name="md_green_500_50">#804caf50</color>
<color name="md_green_500_75">#c04caf50</color>
<!--light greens-->
<array name="light_greens">
<item>@color/md_light_green_500</item>
<item>@color/md_light_green_50</item>
<item>@color/md_light_green_100</item>
<item>@color/md_light_green_200</item>
<item>@color/md_light_green_300</item>
<item>@color/md_light_green_400</item>
<item>@color/md_light_green_600</item>
<item>@color/md_light_green_700</item>
<item>@color/md_light_green_800</item>
<item>@color/md_light_green_900</item>
<item>@color/md_light_green_A100</item>
<item>@color/md_light_green_A200</item>
<item>@color/md_light_green_A400</item>
<item>@color/md_light_green_A700</item>
</array>
<color name="md_light_green_50">#f1f8e9</color>
<color name="md_light_green_100">#dcedc8</color>
<color name="md_light_green_200">#c5e1a5</color>
<color name="md_light_green_300">#aed581</color>
<color name="md_light_green_400">#9ccc65</color>
<color name="md_light_green_500">#8bc34a</color>
<color name="md_light_green_600">#7cb342</color>
<color name="md_light_green_700">#689f38</color>
<color name="md_light_green_800">#558b2f</color>
<color name="md_light_green_900">#33691e</color>
<color name="md_light_green_A100">#ccff90</color>
<color name="md_light_green_A200">#b2ff59</color>
<color name="md_light_green_A400">#76ff03</color>
<color name="md_light_green_A700">#64dd17</color>
<color name="md_light_green_500_25">#408bc34a</color>
<color name="md_light_green_500_50">#808bc34a</color>
<color name="md_light_green_500_75">#c88bc34a</color>
<!-- limes -->
<array name="limes">
<item>@color/md_lime_500</item>
<item>@color/md_lime_50</item>
<item>@color/md_lime_100</item>
<item>@color/md_lime_200</item>
<item>@color/md_lime_300</item>
<item>@color/md_lime_400</item>
<item>@color/md_lime_600</item>
<item>@color/md_lime_700</item>
<item>@color/md_lime_800</item>
<item>@color/md_lime_900</item>
<item>@color/md_lime_A100</item>
<item>@color/md_lime_A200</item>
<item>@color/md_lime_A400</item>
<item>@color/md_lime_A700</item>
</array>
<color name="md_lime_50">#f9fbe7</color>
<color name="md_lime_100">#f0f4c3</color>
<color name="md_lime_200">#e6ee9c</color>
<color name="md_lime_300">#dce775</color>
<color name="md_lime_400">#d4e157</color>
<color name="md_lime_500">#cddc39</color>
<color name="md_lime_600">#c0ca33</color>
<color name="md_lime_700">#afb42b</color>
<color name="md_lime_800">#9e9d24</color>
<color name="md_lime_900">#827717</color>
<color name="md_lime_A100">#f4ff81</color>
<color name="md_lime_A200">#eeff41</color>
<color name="md_lime_A400">#c6ff00</color>
<color name="md_lime_A700">#aeea00</color>
<color name="md_lime_500_25">#40cddc39</color>
<color name="md_lime_500_50">#80cddc39</color>
<color name="md_lime_500_75">#c0cddc39</color>
<!--yellows -->
<array name="yellows">
<item>@color/md_yellow_500</item>
<item>@color/md_yellow_50</item>
<item>@color/md_yellow_100</item>
<item>@color/md_yellow_200</item>
<item>@color/md_yellow_300</item>
<item>@color/md_yellow_400</item>
<item>@color/md_yellow_600</item>
<item>@color/md_yellow_700</item>
<item>@color/md_yellow_800</item>
<item>@color/md_yellow_900</item>
<item>@color/md_yellow_A100</item>
<item>@color/md_yellow_A200</item>
<item>@color/md_yellow_A400</item>
<item>@color/md_yellow_A700</item>
</array>
<color name="md_yellow_50">#fffde7</color>
<color name="md_yellow_100">#fff9c4</color>
<color name="md_yellow_200">#fff59d</color>
<color name="md_yellow_300">#fff176</color>
<color name="md_yellow_400">#ffee58</color>
<color name="md_yellow_500">#ffeb3b</color>
<color name="md_yellow_600">#fdd835</color>
<color name="md_yellow_700">#fbc02d</color>
<color name="md_yellow_800">#f9a825</color>
<color name="md_yellow_900">#f57f17</color>
<color name="md_yellow_A100">#ffff8d</color>
<color name="md_yellow_A200">#ffff00</color>
<color name="md_yellow_A400">#ffea00</color>
<color name="md_yellow_A700">#ffd600</color>
<color name="md_yellow_500_25">#40ffeb3b</color>
<color name="md_yellow_500_50">#80ffeb3b</color>
<color name="md_yellow_500_75">#c0ffeb3b</color>
<!-- ambers -->
<array name="ambers">
<item>@color/md_amber_500</item>
<item>@color/md_amber_50</item>
<item>@color/md_amber_100</item>
<item>@color/md_amber_200</item>
<item>@color/md_amber_300</item>
<item>@color/md_amber_400</item>
<item>@color/md_amber_600</item>
<item>@color/md_amber_700</item>
<item>@color/md_amber_800</item>
<item>@color/md_amber_900</item>
<item>@color/md_amber_A100</item>
<item>@color/md_amber_A200</item>
<item>@color/md_amber_A400</item>
<item>@color/md_amber_A700</item>
</array>
<color name="md_amber_50">#fff8e1</color>
<color name="md_amber_100">#ffecb3</color>
<color name="md_amber_200">#ffe082</color>
<color name="md_amber_300">#ffd54f</color>
<color name="md_amber_400">#ffca28</color>
<color name="md_amber_500">#ffc107</color>
<color name="md_amber_600">#ffb300</color>
<color name="md_amber_700">#ffa000</color>
<color name="md_amber_800">#ff8f00</color>
<color name="md_amber_900">#ff6f00</color>
<color name="md_amber_A100">#ffe57f</color>
<color name="md_amber_A200">#ffd740</color>
<color name="md_amber_A400">#ffc400</color>
<color name="md_amber_A700">#ffab00</color>
<color name="md_amber_500_25">#40ffc107</color>
<color name="md_amber_500_50">#80ffc107</color>
<color name="md_amber_500_75">#c0ffc107</color>
<!-- oranges -->
<array name="oranges">
<item>@color/md_orange_500</item>
<item>@color/md_orange_50</item>
<item>@color/md_orange_100</item>
<item>@color/md_orange_200</item>
<item>@color/md_orange_300</item>
<item>@color/md_orange_400</item>
<item>@color/md_orange_600</item>
<item>@color/md_orange_700</item>
<item>@color/md_orange_800</item>
<item>@color/md_orange_900</item>
<item>@color/md_orange_A100</item>
<item>@color/md_orange_A200</item>
<item>@color/md_orange_A400</item>
<item>@color/md_orange_A700</item>
</array>
<color name="md_orange_50">#fff3e0</color>
<color name="md_orange_100">#ffe0b2</color>
<color name="md_orange_200">#ffcc80</color>
<color name="md_orange_300">#ffb74d</color>
<color name="md_orange_400">#ffa726</color>
<color name="md_orange_500">#ff9800</color>
<color name="md_orange_600">#fb8c00</color>
<color name="md_orange_700">#f57c00</color>
<color name="md_orange_800">#ef6c00</color>
<color name="md_orange_900">#e65100</color>
<color name="md_orange_A100">#ffd180</color>
<color name="md_orange_A200">#ffab40</color>
<color name="md_orange_A400">#ff9100</color>
<color name="md_orange_A700">#ff6d00</color>
<color name="md_orange_500_25">#40ff9800</color>
<color name="md_orange_500_50">#80ff9800</color>
<color name="md_orange_500_75">#c0ff9800</color>
<!-- deep oranges -->
<array name="deep_oranges">
<item>@color/md_deep_orange_500</item>
<item>@color/md_deep_orange_50</item>
<item>@color/md_deep_orange_100</item>
<item>@color/md_deep_orange_200</item>
<item>@color/md_deep_orange_300</item>
<item>@color/md_deep_orange_400</item>
<item>@color/md_deep_orange_600</item>
<item>@color/md_deep_orange_700</item>
<item>@color/md_deep_orange_800</item>
<item>@color/md_deep_orange_900</item>
<item>@color/md_deep_orange_A100</item>
<item>@color/md_deep_orange_A200</item>
<item>@color/md_deep_orange_A400</item>
<item>@color/md_deep_orange_A700</item>
</array>
<color name="md_deep_orange_50">#fbe9e7</color>
<color name="md_deep_orange_100">#ffccbc</color>
<color name="md_deep_orange_200">#ffab91</color>
<color name="md_deep_orange_300">#ff8a65</color>
<color name="md_deep_orange_400">#ff7043</color>
<color name="md_deep_orange_500">#ff5722</color>
<color name="md_deep_orange_600">#f4511e</color>
<color name="md_deep_orange_700">#e64a19</color>
<color name="md_deep_orange_800">#d84315</color>
<color name="md_deep_orange_900">#bf360c</color>
<color name="md_deep_orange_A100">#ff9e80</color>
<color name="md_deep_orange_A200">#ff6e40</color>
<color name="md_deep_orange_A400">#ff3d00</color>
<color name="md_deep_orange_A700">#dd2c00</color>
<color name="md_deep_orange_500_25">#40ff5722</color>
<color name="md_deep_orange_500_50">#80ff5722</color>
<color name="md_deep_orange_500_75">#c0ff5722</color>
<!-- browns -->
<array name="browns">
<item>@color/md_brown_500</item>
<item>@color/md_brown_50</item>
<item>@color/md_brown_100</item>
<item>@color/md_brown_200</item>
<item>@color/md_brown_300</item>
<item>@color/md_brown_400</item>
<item>@color/md_brown_600</item>
<item>@color/md_brown_700</item>
<item>@color/md_brown_800</item>
<item>@color/md_brown_900</item>
</array>
<color name="md_brown_50">#efebe9</color>
<color name="md_brown_100">#d7ccc8</color>
<color name="md_brown_200">#bcaaa4</color>
<color name="md_brown_300">#a1887f</color>
<color name="md_brown_400">#8d6e63</color>
<color name="md_brown_500">#795548</color>
<color name="md_brown_600">#6d4c41</color>
<color name="md_brown_700">#5d4037</color>
<color name="md_brown_800">#4e342e</color>
<color name="md_brown_900">#3e2723</color>
<color name="md_brown_500_25">#40795548</color>
<color name="md_brown_500_50">#80795548</color>
<color name="md_brown_500_75">#c0795548</color>
<!--grey-->
<array name="greys">
<item>@color/md_grey_500</item>
<item>@color/md_grey_50</item>
<item>@color/md_grey_100</item>
<item>@color/md_grey_200</item>
<item>@color/md_grey_300</item>
<item>@color/md_grey_400</item>
<item>@color/md_grey_600</item>
<item>@color/md_grey_700</item>
<item>@color/md_grey_800</item>
<item>@color/md_grey_900</item>
<item>@color/md_black_1000</item>
<item>@color/md_white_1000</item>
</array>
<color name="md_grey_50">#fafafa</color>
<color name="md_grey_100">#f5f5f5</color>
<color name="md_grey_200">#eeeeee</color>
<color name="md_grey_300">#e0e0e0</color>
<color name="md_grey_400">#bdbdbd</color>
<color name="md_grey_500">#9e9e9e</color>
<color name="md_grey_600">#757575</color>
<color name="md_grey_700">#616161</color>
<color name="md_grey_800">#424242</color>
<color name="md_grey_900">#212121</color>
<color name="md_grey_500_25">#409e9e9e</color>
<color name="md_grey_500_50">#809e9e9e</color>
<color name="md_grey_500_75">#c09e9e9e</color>
<color name="md_white_1000">#ffffff</color>
<color name="md_white_1000_10">#1affffff</color>
<color name="md_white_1000_15">#22ffffff</color>
<color name="md_white_1000_20">#33ffffff</color>
<color name="md_white_1000_25">#40ffffff</color>
<color name="md_white_1000_50">#80ffffff</color>
<color name="md_white_1000_60">#99ffffff</color>
<color name="md_white_1000_75">#c0ffffff</color>
<color name="md_black_1000_10">#1a000000</color>
<color name="md_black_1000_15">#26000000</color>
<color name="md_black_1000_20">#33000000</color>
<color name="md_black_1000_25">#40000000</color>
<color name="md_black_1000_50">#80000000</color>
<color name="md_black_1000_75">#c0000000</color>
<color name="md_black_1000">#000000</color>
<!--blue grey-->
<array name="blue_greys">
<item>@color/md_blue_grey_500</item>
<item>@color/md_blue_grey_50</item>
<item>@color/md_blue_grey_100</item>
<item>@color/md_blue_grey_200</item>
<item>@color/md_blue_grey_300</item>
<item>@color/md_blue_grey_400</item>
<item>@color/md_blue_grey_600</item>
<item>@color/md_blue_grey_700</item>
<item>@color/md_blue_grey_800</item>
<item>@color/md_blue_grey_900</item>
</array>
<color name="md_blue_grey_50">#eceff1</color>
<color name="md_blue_grey_100">#cfd8dc</color>
<color name="md_blue_grey_200">#b0bec5</color>
<color name="md_blue_grey_300">#90a4ae</color>
<color name="md_blue_grey_400">#78909c</color>
<color name="md_blue_grey_500">#607d8b</color>
<color name="md_blue_grey_600">#546e7a</color>
<color name="md_blue_grey_700">#455a64</color>
<color name="md_blue_grey_800">#37474f</color>
<color name="md_blue_grey_900">#263238</color>
<color name="md_blue_grey_500_25">#40607d8b</color>
<color name="md_blue_grey_500_50">#80607d8b</color>
<color name="md_blue_grey_500_75">#c0607d8b</color>
<!--Texts-->
<array name="texts_white">
<item>@color/md_text_white</item>
<item>@color/md_text_white_87</item>
<item>@color/md_secondary_text_icons_white</item>
<item>@color/md_disabled_hint_text_white</item>
<item>@color/md_divider_white</item>
</array>
<color name="md_text_white">#ffffffff</color>
<color name="md_text_white_87">#dfffffff</color>
<color name="md_secondary_text_icons_white">#b3ffffff</color>
<color name="md_disabled_hint_text_white">#4dffffff</color>
<color name="md_divider_white">#1fffffff</color>
<array name="texts_black">
<item>@color/md_text</item>
<item>@color/md_secondary_text_icons</item>
<item>@color/md_disabled_hint_text</item>
<item>@color/md_divider</item>
</array>
<color name="md_text">#df000000</color>
<color name="md_secondary_text_icons">#8a000000</color>
<color name="md_disabled_hint_text">#4c000000</color>
<color name="md_divider">#1f000000</color>
<!--Falcon-->
<array name="falcon">
<item>@color/md_falcon_400</item>
<item>@color/md_falcon_500</item>
<item>@color/md_falcon_700</item>
</array>
<color name="md_falcon_400">#ff38628b</color>
<color name="md_falcon_500">#384e77</color>
<color name="md_falcon_700">#2b3e5f</color>
<color name="md_falcon_A400">#598bae</color>
<color name="md_falcon_500_25">#40384e77</color>
<color name="md_falcon_500_50">#80384e77</color>
<color name="md_falcon_500_75">#c0384e77</color>
<color name="md_falcon_A400_25">#40598bae</color>
<color name="md_statusbar_translucent">#4000</color>
</resources> </resources>

View File

@ -1,16 +1,16 @@
<resources> <resources>
<!-- Default screen margins, per the Android Design guidelines. --> <!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="activity_horizontal_margin">0dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen> <dimen name="activity_vertical_margin">0dp</dimen>
<dimen name="margin_top">16dp</dimen> <dimen name="margin_top">0dp</dimen>
<dimen name="margin_bottom">16dp</dimen> <dimen name="margin_bottom">0dp</dimen>
<dimen name="margin_left">16dp</dimen> <dimen name="margin_left">0dp</dimen>
<dimen name="margin_right">16dp</dimen> <dimen name="margin_right">0dp</dimen>
<dimen name="fab_margin">16dp</dimen> <dimen name="fab_margin">0dp</dimen>
<dimen name="fab_size">56dp</dimen> <dimen name="fab_size">56dp</dimen>
<dimen name="dialog_content_padding">24dp</dimen> <dimen name="dialog_content_padding">0dp</dimen>
<dimen name="dialog_margin_top_content">20dp</dimen> <dimen name="dialog_margin_top_content">0dp</dimen>
<dimen name="text_headline">24sp</dimen> <dimen name="text_headline">24sp</dimen>
<dimen name="text_large_title">22sp</dimen> <dimen name="text_large_title">22sp</dimen>
@ -19,4 +19,8 @@
<dimen name="text_body">16sp</dimen> <dimen name="text_body">16sp</dimen>
<dimen name="text_small_body">14sp</dimen> <dimen name="text_small_body">14sp</dimen>
<!--Nav header-->
<dimen name="navigation_drawer_header_margin">16dp</dimen>
</resources> </resources>

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="nav_drawer_library" type="id">nav_drawer_library</item>
<item name="nav_drawer_recent_updates" type="id">nav_drawer_recent_updates</item>
<item name="nav_drawer_catalogues" type="id">nav_drawer_catalogues</item>
<item name="nav_drawer_settings" type="id">nav_drawer_settings</item>
<item name="nav_drawer_downloads" type="id">nav_drawer_downloads</item>
</resources>

View File

@ -256,4 +256,9 @@
<string name="description_backdrop">Backdrop image of selected manga</string> <string name="description_backdrop">Backdrop image of selected manga</string>
<string name="description_cover">Cover of selected manga</string> <string name="description_cover">Cover of selected manga</string>
<!-- Information Text -->
<string name="information_no_downloads">No Downloads</string>
<string name="information_no_recent">No Recent Chapters</string>
<string name="information_empty_library">Empty Library</string>
</resources> </resources>

View File

@ -1,6 +1,8 @@
<resources xmlns:tools="http://schemas.android.com/tools"> <resources xmlns:tools="http://schemas.android.com/tools">
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <style name="AppTheme" parent="AppTheme.Base">
</style>
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item> <item name="colorAccent">@color/colorAccent</item>
@ -11,6 +13,10 @@
<item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item> <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
</style> </style>
<style name="AppTheme.BrandedLaunch" parent="AppTheme">
<item name="android:windowBackground">@drawable/branded_logo</item>
</style>
<style name="AppTheme.ActionBar" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> <style name="AppTheme.ActionBar" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="android:spinnerItemStyle">@style/ActionBarSpinner</item> <item name="android:spinnerItemStyle">@style/ActionBarSpinner</item>
<item name="android:spinnerDropDownItemStyle">@style/ActionBarSpinnerItem</item> <item name="android:spinnerDropDownItemStyle">@style/ActionBarSpinnerItem</item>