我正在尝试为Android编写纸牌游戏,但我遇到了布局困难。我正在编写主游戏屏幕,其中包括五个垂直排列在左右两侧的卡片以及五个横向排列在顶部和底部的卡片。我遇到的问题是,如果所有其他卡片都没有空间显示,我需要水平和垂直缩小所有卡片。
下面是问题的图片(为了清楚起见,我省略了左侧和底部的卡片)。如您所见,右侧仅显示四张卡片 - 底部卡片部分遮挡。视图已经空间不足,因此它会丢弃不适合的卡的其余部分。
以下是截图链接,因为我无法发布图片:image
在这种情况下我想要的是Android降低所有顶牌和右牌的高度,直到底牌完全可见。它似乎并不复杂,但我无法让它工作。我使用RelativeLayout创建了下面的图像,并将所有顶部卡片彼此相邻,并将所有正确的卡片放在彼此之下(顶部卡片位于顶部卡片的右下方)。我尝试将所有卡添加到他们自己的View中,但这也不起作用。
有什么建议吗?谢谢!
好的,我把它靠近了(见底部的图片链接),但现在我遇到了相反的问题 - 我需要增加它。我相信这是因为我缩小了我用于西装的图像。正如你所看到的,它们都缩小到了一个小尺寸。我希望能够让每个按钮设置的LinearLayout水平/垂直展开以占用所有可用空间,而无需从LinearLayout的可见部分绘制最后一个按钮。理想情况下,我可以放入任何尺寸的图片,也可以适当调整大小,但我担心我会在布局引擎中要求一些循环逻辑。
这是我的XML文件。 HandView类可以容纳每组中的五张卡片。 5张卡之间有5个像素的边距。
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:shrinkColumns="*"
android:background="#FF00FF00">
<TableRow
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:background="#FF0000FF">
<com.herscher.euchre.ui.HandView
android:background="#FFFF0000"
android:layout_column="1"
android:orientation="horizontal"
android:id="@+id/northHandView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal" />
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<com.herscher.euchre.ui.HandView
android:layout_column="0"
android:orientation="vertical"
android:id="@+id/westHandView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<com.herscher.euchre.ui.PlayArea
android:layout_column="1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/playArea" />
<com.herscher.euchre.ui.HandView
android:layout_column="2"
android:orientation="vertical"
android:id="@+id/eastHandView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<com.herscher.euchre.ui.HandView
android:layout_column="1"
android:orientation="horizontal"
android:id="@+id/southHandView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
</TableLayout>
有人有任何建议吗?