我正在尝试在cardview中创建一个应用程序,cardview包含两个需要彼此相邻放置的文本视图,但是文本视图正在重叠.有没有任何机制可以将相同的元素放在RelativeLayout(layout_below或layout_toRightOf)中,用于Cardview.
我可以通过向Relativelayout添加阴影并使其看起来像Cardview来实现这一点,我想在Cardview中执行此操作.
我可以通过向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的描述
CardView extends the FrameLayout class and lets you show information
inside cards that have a consistent look on any app. CardView widgets
can have shadows and rounded corners.
您可能知道,在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等.