在android L中的Cardview中显示UI小部件

在android L中的Cardview中显示UI小部件,android,android-layout,android-5.0-lollipop,android-cardview,Android,Android Layout,Android 5.0 Lollipop,Android Cardview,我正在尝试在cardview中创建一个应用程序,cardview包含两个需要相邻放置的TextView,但是TextView正在重叠。是否有任何机制可以像在CardView的RelativeLayout(下面的layout_或layout_toRightOf)中那样放置元素。 我可以通过向Relativelayout添加阴影并使其看起来像Cardview来实现这一点,我想在Cardview中实现这一点 我的布局代码如下: <RelativeLayout xmlns:android="htt

我正在尝试在cardview中创建一个应用程序,cardview包含两个需要相邻放置的TextView,但是TextView正在重叠。是否有任何机制可以像在CardView的RelativeLayout(下面的layout_或layout_toRightOf)中那样放置元素。 我可以通过向Relativelayout添加阴影并使其看起来像Cardview来实现这一点,我想在Cardview中实现这一点

我的布局代码如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:background="@android:color/black"
    android:layout_height="match_parent">

    <android.support.v7.widget.CardView
        android:id="@+id/card_view"
        android:background="@color/white"
        android:layout_width="200dp"
        android:layout_height="200dp">

        <TextView
            android:id="@+id/info_text"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="Textview one"
            android:gravity="center"
            android:textSize="36sp" />
        <TextView
            android:id="@+id/info_text1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="Textview two"
            android:gravity="center"
            android:textSize="36sp" />
    </android.support.v7.widget.CardView>
</RelativeLayout>

当前它的显示方式与所附图片相同:

根据

CardView扩展了FrameLayout类,允许您显示信息 在任何应用程序上都具有一致外观的内置卡。CardView小部件 可以有阴影和圆角

您可能知道,在
FrameLayout
中,视图和位置之间没有约束或关系。它们将一个接一个地显示。如果您想在
CardView
中使用不同的层次结构,请使用您想要的任何内部布局。例如:

<android.support.v7.widget.CardView
    android:id="@+id/card_view"
    android:background="@color/white"
    android:layout_width="200dp"
    android:layout_height="200dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <TextView
            android:id="@+id/info_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Textview one"
            android:gravity="center"
            android:textSize="36sp" />
        <TextView
            android:id="@+id/info_text1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Textview two"
            android:gravity="center"
            android:textSize="36sp" />
    </LinearLayout>

</android.support.v7.widget.CardView>


CardView
仅视为外部装饰,您可以在内部使用任何布局。因此,如果
LinearLayout
不合适,您可以使用
RelativeLayout
等。

正如我在问题中提到的,我可以通过将cardview的内容嵌入到布局中来实现。我一直在寻找不这样做的选项,因为它们很昂贵。您写道:“我可以通过向Relativelayout添加阴影并使其看起来像Cardview来做到这一点”-这基本上意味着您可以使用
Relativelayout
来“模拟”Cardview,并向其添加阴影,并不是说你知道你可以在它里面添加
RelativeLayout
),而是OK。所以你有两个解决方案:1。使用内部布局,如我在回答或2中所建议的。扩展
cardwiew
并自行实现自定义测量和布局方法(与从代码创建自定义布局和定位子项的方法相同)。没有其他方法可以做到这一点。好吧,您不能扩展CardView。为什么您不能这样做?