为Android App绘制棋盘(棋子)

时间:2011-02-02 04:36:54

标签: android user-interface

我是一个Android新手试图使用我的VB经验(8年前)并设计一个用户界面。我正在尝试创建一个跳棋板,它在VB中将是一个表单,我可以根据需要在多行中连续添加多个可调整大小的面板小部件。由于这些是面板,我可以在它上面添加一个小图像(硬币)(面板作为背景),或者甚至添加另一个小面板,其中我可以使颜色可见,不可见以代表硬币。我知道描述一个VB用户界面很糟糕,但VB的目的是让表单设计变得简单,而且确实很有用,这是我能想到的唯一用户界面语言。

我注意到android SDK几乎没有足够的小部件供我使用。我能想到的最好的是使用具有多行的TableLayout。我没有得到的是我用什么代表一个正方形?是否有类似于VB面板小部件的东西?我不想使用图像,因为我希望电路板可以自动调整到屏幕尺寸。

有人可以帮我提一些提示吗?

1 个答案:

答案 0 :(得分:2)

您可以使用水平LinearLayout以XML格式定义布局,并使用8个ImageViews(或任何其他可以显示图像/颜色的容器)填充它,并在垂直LinearLayout中复制7次,类似于:

<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参考中阅读更多内容:

希望这可以帮助你一路走来!