如何去除元素之间的边框?

How to remove border between elements?

我有一个包含 6 张卡片的相对布局。这是我的 XML 代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:padding="0dp"    
android:layout_margin="0dp"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
>
<View android:id="@+id/view"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_centerHorizontal="true"/>
<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/Card_View1"
    android:layout_width="0dp"
    android:layout_height="190dp"
    android:layout_alignLeft="@id/view"
    android:layout_alignParentRight="true"
    android:onClick="openFirst"
    >
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:src="@drawable/icontest"
         />
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/Card_View2"
    android:layout_gravity="center"
    android:layout_toRightOf="@+id/Card_View1"
    android:layout_width="0dp"
    android:layout_height="190dp"
    android:layout_alignRight="@id/view"
    android:layout_alignParentLeft="true"
    android:onClick="openFirst"
    >
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView2"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:src="@drawable/icontest"/>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/Card_View3"
    android:layout_gravity="center"
    android:layout_below="@+id/Card_View1"
    android:layout_width="0dp"
    android:layout_height="190dp"
    android:layout_alignRight="@id/view"
    android:layout_alignParentLeft="true"
    >
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/Card_View4"
    android:layout_gravity="center"
    android:layout_toRightOf="@+id/Card_View3"
    android:layout_below="@+id/Card_View2"
    android:layout_width="0dp"
    android:layout_height="190dp"
    android:layout_alignLeft="@id/view"
    android:layout_alignParentRight="true"
    >
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/Card_View5"
    android:layout_gravity="center"
    android:layout_below="@+id/Card_View3"
    android:layout_width="0dp"
    android:layout_height="190dp"
    android:layout_alignRight="@id/view"
    android:layout_alignParentLeft="true"
    >
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/Card_View6"
    android:layout_gravity="center"
    android:layout_below="@+id/Card_View4"
    android:layout_toRightOf="@+id/Card_View5"
    android:layout_width="0dp"
    android:layout_height="190dp"
    android:layout_alignLeft="@id/view"
    android:layout_alignParentRight="true"
    >
</android.support.v7.widget.CardView>
</RelativeLayout>

在 Android Studio 中,所有元素都紧挨着彼此。没有边界,什么都没有。当我在 phone (Sony Xperia T) 上启动应用程序时,卡片之间有黑色边框。如何去除边框?我想让卡片占据屏幕上的所有 space。

在元素较多的相对布局中很容易迷失方向。我建议使用嵌套线性布局和 layout_weight.

类似于 2 个水平线性布局,每个权重为 1(因此它们将各自占据半个屏幕),位于垂直线性布局内(因此它们将彼此重叠)。 然后在这 2 个中的每一个中,使用另外 3 个线性布局,每个布局都将 layout_weight 设置为 1,因此它们各自占据其父级宽度的 1/3。对于每个最里面的线性布局,将宽度和高度设置为 0,权重将处理它。

最后,在最里面的 6 个 LinearLayout 中的每一个中放置一个 CardView,并将其宽度和高度设置为 match_parent。这样你应该把你的屏幕分成 6 个均匀的卡片,它们之间没有 space 并且它可以在不同的设备上工作(你的不会因为你有硬编码值):

android:layout_height="190dp"

这就是导致它在模拟器和您的 phone 上看起来不同的原因(在另一个 phone 上可能更不一样)。