2011-01-24 2 views
2

Я пытаюсь выяснить, как создать макет для gridview для моей игры. У меня есть gridview, который будет селектором уровня. На данный момент у меня есть каждый элемент gridview как TextView, просто показывающий номер уровня (1, 2, 3 и т. Д.).Пользовательский макет gridview для Android (текстовое изображение с изображением сверху)

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

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

Вот макет того, что я пытался описать, и то, что я хочу создать: enter image description here

PS. Я знаю, что могу использовать 4 изображения и установить фон текстового изображения на одно из этих изображений, но я подумал, есть ли более технический способ создания макета.

ответ

-1

Я пошел с нетехническими 4 изображениями в конце, это было просто и легко, и нет никаких проблем, прокручивающих сетку, так что все хорошо.

+0

Это не ответ ... почему вы отметили его как одно. – daveomcd

+2

Это был ответ на мой вопрос, ответ, который я использовал для решения моей проблемы. – C0deAttack

2

Я бы использовать relative view!

Основы будет, определите фон кнопки Bitmap/рисуем с # 1 на нем, а затем, для каждой кнопки, есть макет с медью, серебром и золотыми звездами , Вы можете использовать android:layout_alignParentLeft="true" и android:layout_alignParentBottom="true" на старте меди и основывать другие выравнивания от этого. Затем вы просто устанавливаете звезды на основе, если звезда переключена на или из.

Я собираюсь использовать грубый код здесь псевдо:

<RelativeLayout android:id="button1"> 
    <ImageView android:id="copper_star" android:layout_alignParentLeft="true" android:layout_alignParentBottom="true" /> 
    <ImageView android:id="silver_star" android:layout_alignParentBottom="true" android:layout_rightOf="@id/copper_star"/> 
    ...etc... 
</RelativeLayout> 

После того, как вы получили это выглядящий так, как вы хотите, вы можете увидеть эту discussion Марком Мерфи. Он объясняет, как настроить свойства кнопки, чтобы сделать то, что вы хотите.

+0

Хм, я действительно не хочу создавать фон с номером уровня на нем. Это не слишком практично, так как каждый раз, когда появляется новый уровень, мне нужно будет создать новый фон. Спасибо за ответ, хотя. – C0deAttack

+0

В качестве альтернативы просто создайте TextView в центре с числом, являющимся уровнем. –

+0

Да, я просто смотрю на родительские выравнивания, я думаю, что смогу с этим работать, начинается эксперимент ... – C0deAttack

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