Giter Club home page Giter Club logo

notepad's Introduction

#Notepad

###Simple, easy-to-use, themeable notepad forked from an old project by BanderLabs.

Release APK coming soon. This project isn't dead, I have it at low priority (I am working on other projects) and am trying to work on LP/MM support.

####How to build:

  1. Import these projects into Android Studio.
  2. Compile, and install on a ICS+ device.

There are two NoteList screens. One is for the normal theme NoteList.java and one is for the AppCompat theme NoteListAppCompat.java which extends ActionBarActivity. There are a lot of duplicate classes because all AppCompat activities must extend from ActionBarActiviy and ActionBarActivity will crash if not using AppCompat. This means that there needs to be two activities for each screen, and two layouts, one with the Toolbar and one without. This is also seen in, for example, NoteEditAppCompat.java and edit_appcompat.xml.

The Notepad activity is the core of this app. It supplies:

  • Launches the right NoteList on startup, as noted above.
  • Sets the theme, that is why you see Notepad.setThemeFromPreferences(this);. This is based on OpenSudoku.
  • Launches the password protection. Still in beta, it needs work.
  • Changes the Toolbar color

My themes are in styles.xml, styles_appcompat.xml, and styles_kitkat.xml. The light theme starts on Holo Light and adds selector and button colors. The Dark theme is a bit more complex, using the same elements as above, but the Action Bar is borrowed from Theme.Holo.Light.DarkActionBar and the background is regular Holo.

####Notice I give a lot of credit to BanderLabs for making the Notepad tutorial app 1000 times better! It is the base of the code that made this great app. The code is a lot different because I have been working on it for a while and only open-sourced it recently.

####The major things I did:

  • Switch between themes:
    • Material (AppCompat)
    • KitKat Holo (desaturated)
    • Default Holo theme
    • Device Default to satisfy TouchWiz fans
    • Classic Gingerbread (but why? This is Holo themed...).
    • Choose a light, mixed, or dark version. When using the Material theme, you can choose the color of the Toolbar.
  • Licenses Dialog
  • Option for Monospace font
  • Option to toggle AutoCorrect
  • Converted small activities to Dialogs. NOTE: I need to have actual dialog buttons, not actual buttons.
  • Organized PreferenceScreen
  • Action Bar, and Toolbar
  • Renamed weird strings.
  • New icon, but not mine. Looking to change this to one I designed.
  • Organized/optimized some activities, like reordering the buttons, to comply with ICS.
  • PreferenceFragments!!!
  • Password protect. Very basic.

####To do:

  • HDPI, XHDPI and XXHDPI drawables. I only included MDPI drawables because my phone's screen is MDPI.
  • Tablet-friendly. "Honeypad" demo seems good, but hard to implement, because of Fragments.
  • Fragments, but from the look of it, it will require a whole rewrite.
  • SearchView for Holo/Material themes. I need help on this.
  • A ton of code updates. This is 2011 code, and it has a LOT of deprecated code.
  • I would like help with Cursor management. I get a lot of Cursor finalized without prior close() logs, because I removed all the cursor.close() for crash problems.
  • Some dialog messages should have positive/negative buttons, not using layout buttons.
  • Translations. Anyone?
  • Clean up code. I have a lot of commented-out code.
  • Play Store/F-Droid?

####Requested in comments on BanderLabs' Wiki

  • Smarter import/export.
  • I don't know.
  • How? Password-protected ZIP?
  • This would be easy to do I think...
  • I guess, there is already a sort function.
  • This uses TXT files. Put any notes you want to import into /sdcard/Notepad and Import.
  • Desktop sync
  • With what? Syncthing? Wouldn't that make the app bloated?!

notepad's People

Contributors

easyaspi314 avatar

Stargazers

Matt McCaffrey avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

cloudxtreme

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.