Рисование доски (шашки) для приложения Android - PullRequest
2 голосов
/ 02 февраля 2011

Я новичок в Android, пытаюсь использовать мой опыт работы с VB (8 лет назад) и создавать пользовательский интерфейс. Я пытаюсь создать доску для шашек, которая в VB была бы формой, в которой я добавляю несколько виджетов панели с изменяемым размером по мере необходимости в нескольких строках. Поскольку это панели, я могу либо добавить небольшое изображение (монету) на него (с панелью в качестве фона), либо даже добавить еще одну небольшую панель с цветом, который я могу сделать видимым и невидимым для представления монет. Я знаю, что описывать пользовательский интерфейс VB - это плохо, но VB предназначен для упрощения проектирования форм, и это действительно так, и это единственный язык, который я могу придумать для пользовательского интерфейса.

Я заметил, что Android SDK почти не хватает виджетов для меня, чтобы использовать. Лучшее, что я мог придумать, это использовать TableLayout с несколькими строками. То, что я не понимаю, это то, что я использую, чтобы представить квадрат? Есть ли что-то аналогичное виджету панели VB? Я не хочу использовать изображение, потому что я хочу, чтобы доска автоматически подстраивалась под размеры экрана.

Может ли кто-нибудь помочь мне с некоторыми подсказками?

1 Ответ

2 голосов
/ 21 декабря 2011

Вы можете определить макет в XML с помощью горизонтального LinearLayout и заполнить его 8 ImageViews (или любым другим контейнером, который может отображать изображение / цвет) и скопировать его 7 раз в вертикальном LinearLayout, подобно этому:

<LinearLayout android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent" >
    <LinearLayout android:orientation="horizontal"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:layout_weight="1" >
        <ImageView android:id="@+id/square_1"
                   android:layout_weight="1"
                   android:layout_width="fill_parent"
                   android:layout_height="fill_parent"
                   <!-- Set image or background here --> />
        <!-- Repeat the ImageView 7 times and change the id for every ImageView
             you create -->
    </LinearLayout>
    <!-- Reapeat the LinearLayout 7 times too -->
</LinearLayout>

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

Чтобы использовать код Java для изменения изображения / фона, вам придется использовать:

ImageView square_1 = (ImageView)findViewById(R.id.square_1);
square_1.setBackground(Color.yellow);

Подробнее в Android SDK Ссылка здесь:

Надеюсь, это поможет вам на этом пути!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...