Material design conventions: toolbar text content - android

Preface: while this may seem like a question based on personal preference, I am fairly sure there are set guidelines for material layouts, providing rules to adhere to. (I just cant seem to find them)
In order to prepare for an upcoming exam, I've made a simple quiz app for me and my classmates that goes through questions that will likely be asked on said exam. The layout of the main question screen is displayed below.
As you can see, rather than using the toolbar to display a title ("quiz screen") I have used it to display the entire question, and question number. In addition, I've disabled the back button. Now for the question: is this layout, and use of the toolbar specifically, in concordance with the material design guidelines? I have looked through https://www.google.com/design/spec/material-design/introduction.html, where one would expect to find such information, rather extensively, but have found no answer to this question.
Thanks in advance.

As far as I know the toolbar is used to provide hint of what the data in the current screen is about. It should not contain more than more two lines of text.(For two lines of text, use a collapsing toolbar and for a single line use the ordinary toolbar). Coming to your app, I'd suggest you put the question number in the toolbar i.e "Question 3" and the question should be an ordinary textview with about 24sp in text size. Moreover, remove the FAB from the screen and use a flat button instead. The FAB button must not be abused

Related

Android, display items as tags in a list

Sorry for the basic question, but after a long time searching, I still don't know what to call this...
What do you call the list of items to display like this picture, (the addresses in the to section), each item is in a tag, and they will fill up the screen according to the screen size and content of the item.
I want to search about how to do this in the best way, but I'm not sure what to search for. What are these "tags" called?
Thanks so much.
What you are looking for is known as Chips . This component represent complex entities in small blocks, such as a contact/email address etc.
I'm attaching a Material design link where you can explore detailed information about them, their types and behaviour.
You can use below libraries to achive it.
https://github.com/pchmn/MaterialChipsInput
https://github.com/klinker41/android-chips

Pocket-like TextView automatic spacing based on TextView width?

This is quite hard to understand, but I'm trying to find out how to make a TextView adapt to change the text spacing between words on a line which allows the text to reach the very right side of the TextView.
Consider this as an example (this should get my point across):
This one is a line of text which fills the view itself
This is another that does the same thing
How would I go about making my text react like this? An example application which does this is Pocket, so I know it can be done - I just don't know how.
Any help is appreciated!
What you're referring to is called text justification and is something that has been discussed more than once here on SO in the context of Android.
The short answer is that, unfortunately, justification is currently not (natively) supported by the TextView widget. There are however workarounds that involve either:
Manipulating the text in the TextView in such a way that the result is visually close to that of justification. Example.
Using a WebView to render the text. Example.
Justifying text on a web page is trivial, but the WebView is a more heavyweight component than a TextView, and hence the feature will come with a performance penalty.
Note that I don't know what approach Pocket is using for their articles, but there are ways to figure that out, and they're not too complicated. That's a completely different can of worms though, so I'll leave it at that.

xml for dropdown text

I have used this forum when I didn't know how to do something, but now I have decided to begin participating in it.
I would like to know how could I do a dropdown text (maybe it has a specific name and that's why I don't find any results on the internet). I mean, I have some tags in the screen (About, Company, Contact, ...). Each of these tags has a down arrow on the right side, and when I click it, it has to display (and hide if it's clicked again).
Here are the links with the images of what I want to do.
http://i45.tinypic.com/4fzoso.png
http://i47.tinypic.com/2u5886q.png
Thank you in advance!
You should use an ExpandableListView component.
There is a tutorial for it here.
Finally I did it with ImageViews and TextViews using the property android:visibility. Now that it's a static version is working properly. I hope that it continues working well when taking the information from the DB

How to create a rich text editor in Android [duplicate]

I am wondering if there are any good options to implement a rich text editor in Android. Please note I am talking about a rich text editor that can be used in an Android application, not the one embedded in a web page using HTML and Javascript.
My requirements are:
Basic formatting (color, fonts, highlight, bold, italic, underline, etc.)
Hyperlinks
Inline images
Bullet lists and numbered lists
Inline table (only the contents inside a cell is editable, not the table structure)
As you can see, this is pretty much something quite similar to a typical RichEdit control on Windows.
Here are some efforts (investigation & prototyping) I have made so far:
Using WebView
I have tried using a WebView control to load an HTML fragment with one . The content becomes editable and as it is HTML, I suppose it can meet most of my requirements. But it has several issues:
(deadly) No text caret. The user will have no idea where his/her typed characters will be inserted.
The on-screen soft keyboard is not visible by default. There is a trick that the user has to long-press the Menu button to bring up the keyboard. But I think this is a very bad user experience. Besides, the screen layout is not properly rearranged and the text inserting point sometimes will be covered by the keyboard.
Using EditText
I have tried using the EditText control. It seems to support some level of rich text editing (color, fonts, bold, italic, underline, inline images, bullet lists). But I still cannot figure out how I can implement the following requirements:
Control the appereance of the bullet symbol (dot, circle, dash, arrow, star, etc.)
Numbered list (1., 2., 3., etc.)
Table
BTW, I have seen there are several *Span classes out there but I am not sure if they can be any help... And the http://developer.android.com does not provide much useful information about them.
So, how on earth can I implement a rich text editor on Android?
Can I extends the EditText and add my new functionalities? Or should I do something from scratch - extends the View and implement everything by myself? For later option (extending View), I actually even don't know how to show a text caret and blink it, not mentionging moving the caret with user typing.
I am desperate now... Any hints?
Thanks!
-Tony
(EDIT)
After some further investigation, it looks like extending EditText would be my best bet. I somehow figured out how to use those Span classes and guess I should be able to do most of the tricks by using (extending) them.
For example, extending the BulletSpan and overriding drawLeadingMargin should give me the control of the bullet appereances. Extending the LeadingMarginSpan should help me on the numbered list.
As to the table, my initial plan is to extend the LineBackgroundSpan and draw all the table borders in the drawBackground override. However, I still need to figure out how to layout all the text in the table cells and properly handle the caret movement and selection. Suggestions?
I just published my rich text editor component under the Apache 2.0 license:
https://github.com/1gravity/Android-RTEditor
You can make use of any of the following libraries:-
https://github.com/commonsguy/cwac-richedit
https://github.com/chinalwb/Android-Rich-text-Editor
https://github.com/wasabeef/richeditor-android
https://github.com/irshuLx/Android-WYSIWYG-Editor
I would probably extend both EditText and TableLayout or at least end up using most of their source if there were big enough changes I needed to make.
Can you do the following:
Manually hold the contents in the EditText as your own model (ie by seperating and maintaing the content document and the view attributes as seperate entities).
Override the render (or draw method) to do custom layout on parts of the content document (part of your model) that handle non text characters (say bullets with particular attribute).
To me seems like if you have to muck about with the layout, are you better off writing it from scratch on your own. From what I remember the Edit text (and the richt text editor) is great for anything where you the data is pure text.
There is an open source EditText rich text editor called android-richtexteditor but the code was inexplicably deleted in r5. The code is still there in r4; just use svn to check out r4 or earlier to access it. The code appears to support italics, underline, color picker, text size, and more.
Also answered in these questions: 1, 2
Extend from EditText is a best choice for you, it support CharacterSpan and
ParagraphSpan.
See my App on the Google Play:
https://play.google.com/store/apps/details?id=com.hly.notes
Check this open source Wordpress mobile application for android.It has very promising Richtexteditor based on Edittext.
You can download the source from here
Thanks

How to create layout for listing tags, with the ability to click on specific ones and delete

I am looking to create something very similar to what Google has done in the Google+ app.
Its hard to describe but please take a look at this screenshot
Google+ app
I am looking to create something similar, of note is that the tags move to the proper line as they fit.
Is this a completely custom solution that Google wrote or is there a library for this somewhere.
It looks like they are decorating the text in the edit text by using spans. They probably have a listener on the edit text listening for modifications at which point they check to see if the most recently added word matches one of your circles. If it does, the create a span over the text and decorate it with a background drawable, font color change, and by adding an image next to it.
Its probably a pretty significant effort depending on how you want to function, but all that functionality is out there in the sdk.

Categories

Resources