在android L中的Cardview中显示UI小部件
我正在尝试在cardview中创建一个应用程序,cardview包含两个需要相邻放置的TextView,但是TextView正在重叠。是否有任何机制可以像在CardView的RelativeLayout(下面的layout_或layout_toRightOf)中那样放置元素。 我可以通过向Relativelayout添加阴影并使其看起来像Cardview来实现这一点,我想在Cardview中实现这一点 我的布局代码如下:在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
<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。为什么您不能这样做?