我正在编写一个小纸牌游戏,用户有五张卡片,将在屏幕的左边。假设每一张卡的宽度设置为100 to。然后,我希望卡片被相应地裁剪,并放置在彼此之下。如果卡片的总高度太大,无法显示它们,我希望它们重叠,而不是使它们更小。
举个例子,左边是一块平板电脑,空间足够了,右边是一部智能手机,我想把卡片重叠起来。

知道我该怎么做吗?
发布于 2014-10-01 15:47:15
我让它起作用了
代码
public class HandCardsLayout extends RelativeLayout {
// constructors etc..
public void init() {
Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int heightLandscape = size.y;
int viewDistance = heightLandscape / 5;
for (int i = 0; i < 5; i++) {
ImageView imageView = getImageViewAt(i);
if(i < 4) {
imageView.setPadding(0, 0, 0, -viewDistance);
}
}
}
}布局文件
<de.memorian.HandCardsLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@android:color/transparent"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerInside"
android:adjustViewBounds="true"
android:layout_above="@+id/handCard2"
android:id="@+id/handCard1"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerInside"
android:adjustViewBounds="true"
android:layout_above="@+id/handCard3"
android:id="@+id/handCard2" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerInside"
android:adjustViewBounds="true"
android:layout_above="@+id/handCard4"
android:id="@+id/handCard3" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerInside"
android:adjustViewBounds="true"
android:layout_above="@+id/handCard5"
android:id="@+id/handCard4" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerInside"
android:adjustViewBounds="true"
android:layout_alignParentBottom="true"
android:id="@+id/handCard5" />
</de.memorian.HandCardsLayout>这个片段在一个均匀的距离内与ImageViews重叠。
发布于 2014-09-30 17:51:55
您可以计算图像视图的高度,然后像这样裁剪卡片图像:
bm = Bitmap.createBitmap(originalbitmap, 0, 0, fullViewWidth, calculatedViewHeight);
imageview.setImageBitmap(bm);https://stackoverflow.com/questions/26126805
复制相似问题