- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我试图让我的游戏中的扑克牌重叠,这样只能看到一张牌的前半部分,而另一半被下一张扑克牌覆盖。唯一应该完全可见的卡片是最后一张/最右边的卡片。
我将以下代码与 framelayout 和 relativelayout 一起使用都无济于事。谁能提供一些建议?
public int shouldShow(int numberOfCards, int card, int id)
{
if(card == -1)
hide(id);
else
{
findViewById(id).setBackgroundDrawable(deckimages[card]);
//findViewById(id).offsetLeftAndRight(findViewById(id).getWidth()* numberOfCards / 2);
show(id);
//findViewById(id).setPadding(findViewById(id).getWidth()* numberOfCards / 2, 0,0,0);
return numberOfCards+1;
}
return numberOfCards;
}
我已经尝试过使用填充和偏移方法,这两种方法都不适合我。但我也注意到 getwidth() 和 getmeasuredwidth() 方法返回 0。
关于我应该使用哪种布局以及为什么 getwidth 函数不起作用的任何建议?
xml 代码在下面......会有比这更多的图像,但这是我正在测试的
<RelativeLayout android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/RelativeLayout1">
<ImageView android:id="@+id/imageView2" android:layout_width="wrap_content" android:layout_height="wrap_content"></ImageView>
<ImageView android:id="@+id/imageView3" android:layout_width="wrap_content" android:layout_height="wrap_content"></ImageView>
</RelativeLayout>
最佳答案
在 4 小时搞乱代码和谷歌搜索后,我一直坚持这个问题。我终于找到了解决方案,而且非常简单。
您所要做的就是将下一张卡片与上一张卡片的顶部和左侧对齐。这将使第二张卡片放在之前的卡片之上。然后设置 leftMargin
将顶部的卡片向右“推”,创建部分重叠效果。
这是我的代码(以编程方式完成):
for(int i=0; i<hand.size();i++){
int c = hand.get(i).getCardResource();
ib = new ImageButton(this);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_TOP, i-1);
params.addRule(RelativeLayout.ALIGN_LEFT,i-1);
params.leftMargin= 40;
ib.setImageResource(c);
ib.setClickable(true);
ib.setPadding( 3, 3, 3, 3);
ib.setId(i);
ib.setLayoutParams(params);
ll.addView(ib);
}
关于android - 重叠图像(扑克牌),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7918714/
我正在尝试编写生成 4 手随机扑克牌的代码 (来源:wiseowl.co.uk) 显然,这些值应该是唯一的。这是我已经尝试过的代码,但是我无法使其工作。 Sub poker_is_hard() Dim
我正在尝试编写一个小程序来显示卡片包以及其他内容。 我有一个文件夹,里面有 52 张卡片图像。 如何为 Card 对象的每个实例分配图像? 我需要在对象内创建一个 52 图像数组,然后为每张卡分配正确
我试图让我的游戏中的扑克牌重叠,这样只能看到一张牌的前半部分,而另一半被下一张扑克牌覆盖。唯一应该完全可见的卡片是最后一张/最右边的卡片。 我将以下代码与 framelayout 和 relative
现在我知道了寻找顺子背后的基本逻辑,我假设其中包括一个伪 function is_straight(array $cards) { sort($cards); i
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 3 年前。 Improve this qu
我正在设计许多(希望是数千)玩家可以同时玩某些纸牌游戏的游戏网站。这副牌是标准的 52 张牌。每张牌都有花色和等级。牌将一直被洗牌、发牌、挑选、排序、打出。我的问题是,Card 应该是枚举、结构还是类
我遇到了一个真正令人困惑的错误,在过去的几个小时里我一直试图解决这个错误,但没有成功。我正在研究扑克实现。最初,我通过迭代循环生成卡片。 const suits = ['Heart', 'Spade'
我是一名优秀的程序员,十分优秀!