Say I have a list of Strings with the elements:
“One”,
“Two”,
“Three”,
“Four”
I want to center them in the middle of the screen but I want to do it in a way that the start of each word is next to each other.
Like this:
One
Two
Three
Four
Considering that the font probably has different length per character, how do I do this best in Android?
I’m not sure how your application is behaving and if a ListView is strictly required, but the effect you desire can be achieved using TableLayout and TableRows. The TableLayout will line up the elements in each column for each row as you have described.
Having said that, TableLayout does not support having lines between the rows or gridlines (although I have seem some clever hacks involving changing the background colour of the TableRow to black, and then changing the padding and background colour of the View objects in the TableRow to white to get a black divider line – but that doesn’t always work depending on your View objects).
I’m in a similar pickle, and that was the first avenue I examined. It didn’t have a solution for my situation, but this might work for you. And if you do find a way of lining up the text in a List, I’d love to hear about it.
EDIT:
I also feel it is worth mentioning (based on how the conversation is progressing) that you can also set
row.setOnClickListener()and make an entire row clickable in a TableView. Once you wrap it in a ScrollView, it’s pretty list-like.