Android ImageView会在屏幕边缘留下空白

时间:2016-02-20 21:20:29

标签: android xml android-layout

我正在尝试制作一个在四个玩家之间玩的纸牌游戏,其中52张牌的标准牌均分。我希望在屏幕的每一侧显示13张牌,在中间显示4张牌(当每个玩家转弯时将显示这些牌)。我已经为每个4个LinearLayouts添加了13张卡片并在侧面显示。右边的两个已经旋转(见代码)。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/table_back1" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/imageView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/imageView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/imageView6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/imageView7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/imageView8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/imageView9"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/imageView10"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/imageView11"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/imageView12"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/imageView13"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1_full" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentTop="true"
        android:orientation="horizontal"
        android:rotation="180" >

        <ImageView
            android:id="@+id/ImageView14"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView15"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView16"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView17"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView18"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView19"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView20"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView21"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView22"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView23"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView24"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView25"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView26"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1_full" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/LinearLayout3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:orientation="horizontal"
        android:layout_margin="10dp"
        android:rotation="270" >

        <ImageView
            android:id="@+id/ImageView27"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView28"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView29"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView30"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView31"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView32"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView33"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView34"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView35"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView36"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView37"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView38"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView39"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1_full" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/LinearLayout4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:orientation="horizontal"
        android:layout_margin="10dp"
        android:rotation="90" >

        <ImageView
            android:id="@+id/ImageView40"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView41"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView42"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView43"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView44"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView45"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView46"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView47"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView48"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView49"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView50"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView51"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1" />

        <ImageView
            android:id="@+id/ImageView52"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:src="@drawable/back1_full" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/LinearLayout5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/center1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="false"
             />

        <ImageView
            android:id="@+id/center2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="false"
             />

        <ImageView
            android:id="@+id/center3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="false"
             />

        <ImageView
            android:id="@+id/center4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="false"
             />

    </LinearLayout>

</RelativeLayout>

我有什么:

enter image description here

我想要的是什么:

由于我设置了android:layout_alignParentRight="true"android:layout_alignParentLeft="true"

,所以应将垂直卡片连接到屏幕边缘

问题:

  • 卡片位于屏幕中间而不是连接
  • 我试图在LinearLayout中显示13张牌,但是卡片已经开始了 两边都是屏幕外的,所以我不得不裁剪卡并显示完整的牌 只在边缘。
  • 垂直卡片每次触摸时都会开始向屏幕边缘移动。

问题:

  • 有没有办法可以堆叠卡片(重叠),这样它们仍然可以显示相同的方式,而不必裁剪图片?
  • 卡片没有附着在屏幕边缘的原因是什么?
  • 有没有更好的方法来解决这个问题?

我必须只使用XML。另外我是android的新手,所以请以我能理解的方式解释你的解决方案。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我尝试使用我的一张图片替换你的图片,这是我的结果:

cards

所以我不理解你的结果。但是,如果我想用你现在拥有的东西做你想做的事情,我会做那样的事情:

1)左上角:

<LinearLayout
    android:id="@+id/LinearLayout4"
    android:layout_width="match_parent"
    android:layout_height="50dp"></LinearLayout>

2)右上角左下角:

<LinearLayout
    android:id="@+id/LinearLayout4"
    android:layout_width="50dp"
    android:orientation="vertical"
    android:layout_height="match_parent"
    android:layout_alignParentRight="true"></LinearLayout>

3)左下角 - 右下角

<LinearLayout
    android:id="@+id/LinearLayout4"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_alignParentBottom="true"></LinearLayout>

4)左上角左下角

<LinearLayout
    android:id="@+id/LinearLayout4"
    android:layout_width="50dp"
    android:layout_height="match_parent"
    android:orientation="vertical"></LinearLayout>

使用LinearLayout这是正确的方法,但是如果你这样做,你会发现它已经走出了边界。所以你必须使用重量。例如,如果你有13cards / LinearLayout,你必须添加你的LinearLayout android:android:weightSum =&#34; 13&#34;并在你的每张卡中说出他们必须承担的重量,所以这里1.(android:layout_weight =&#34; 1&#34;在你的每张卡中)。所以它会将你的屏幕分成13个区块,一个区块将填充一张卡片。但是LinearLayout让他的孩子并排(这就是为什么我不理解你的结果,我们可以在另一个上看到卡片。)

所以,如果你想把一个放在另一个上,最好的方法就是使用RelativeLayout。

如果您想了解更多信息,请告诉我。