2012-07-04 3 views
1

У нас есть идея для игры под управлением Android, и я немного поиграл с представлениями, но не могу придумать что-то адекватное.Как достичь эффекта, подобный царапинам, в представлениях Android

Идея игры - это матрица фиксированного размера, и каждая ячейка в этой матрице может содержать плитки, похожие на плитки Scrabble.

Под этим я имею в виду, что есть письмо на плитки и оценка. Буква занимает большую часть плитки и оценка является немного текста в углу (нет критики на моих графических навыков, это не конечный продукт):

+---------+  +---------+ 
| #  |  | #### | 
| # # |  | # # | 
| # # |  | #### | 
| ##### |  | # # | 
| # # |  | #### | 
|  17|  |  22| 
+---------+  +---------+ 

В отличие от Эрудит, счет плитка не связана с ее буквой, поэтому мы должны иметь возможность заполнять плиты нумером произвольным письмом.

Я использую textviews и пытаюсь превратить их в сетку с границами вокруг каждой ячейки (с фоновым изображением), но я не могу получить представления в представлениях, которые, я считаю, должны обеспечить граница окружает оба текстовых изображения.

Я попытался использовать таблицу с каждой ячейкой и таблицу, содержащую букву и оценку. Но я не могу получить удовлетворительный результат.

Число комбинаций букв/очков будет довольно высоким, поэтому я не хочу создавать изображения для каждой возможной плитки.

Неужели кто-нибудь еще сталкивается с подобной проблемой, и каков наилучший способ ее решения?

ответ

4

Вы будете создавать быстрые буквы только (не Сочетание)

Создать представление под названием TileView, который реализует ImageView и привлечь счет на плитку угла с помощью 2d методы, описанной в руководстве для разработчиков.

+0

Или, у 'TileView' будет' RelativeLayout', который центрирует букву ('TextView') и привязывает оценку (другой' TextView') в правом нижнем углу. – CommonsWare

+0

+1 и принять. Фактически, это сработало, но с учетом предупреждений из книг Android, которые у меня есть против использования большого количества просмотров (> 80), и тот факт, что это плата 15x15 (два представления на ячейку, помещающие ее в сотни), я выбрал одно пользовательское представление, унаследованное от SurfaceView, и я нарисую свою собственную доску и плитки. Тем не менее, это не отменяет ваш ответ, который, вероятно, был правильным, учитывая мои (изворотливые) спецификации :-) – paxdiablo

1

Я думаю, им-то недоразумение ...

Но его просто customView с TextView, который может быть стилизованной, в относительном макете и в нижнем правом углу родителя другого TextView с другим стилем TextView.

Затем вы можете добавить этот компонент в каждую плитку своей игры.

Для плитки вы можете использовать свой актив в качестве фона или определить его в xml.

+0

+1. См. Мой комментарий к Merlin - выбрал другой способ. – paxdiablo

 Смежные вопросы

  • Нет связанных вопросов^_^