Raf*_*afa 1 android material-design android-cardview
我有cardview如下所示的布局,但文件中的两个元素彼此堆叠。我读过其他帖子,说要能够更有效地分隔元素,您必须在 内有另一个布局cardview,但它对我不起作用。如果我添加 aandroid:layout_above...那么其中一个元素就会消失。我想要一个元素高于另一个元素。谁能指出我做错了什么?
<android.support.v7.widget.CardView\n xmlns:card_view="http://schemas.android.com/apk/res-auto"\n android:id="@+id/currentData"\n android:layout_width="match_parent"\n android:layout_height="wrap_content"\n card_view:cardCornerRadius="4dp"\n card_view:cardBackgroundColor="@color/orange">\n\n <RelativeLayout\n android:id="@+id/cardviewLayout"\n android:layout_width="wrap_content"\n android:layout_height="wrap_content"\n android:layout_gravity="center"\n android:padding="10dp"\n android:orientation="vertical">\n\n <TextView\n android:id="@+id/time"\n tools:text="this is the time"\n android:layout_width="wrap_content"\n android:layout_height="wrap_content"\n android:layout_centerHorizontal="true"\n android:layout_centerVertical="true"\n android:layout_above="@+id/temperature"\n android:textColor="@color/white"/>\n\n <TextView\n android:id="@+id/temperature"\n tools:text="50\xc2\xb0"\n android:layout_width="wrap_content"\n android:layout_height="wrap_content"\n android:layout_centerHorizontal="true"\n android:layout_centerVertical="true"\n android:textSize="50sp" />\n\n </RelativeLayout>\n\n</android.support.v7.widget.CardView>\nRun Code Online (Sandbox Code Playgroud)\n
您可以使用 LinearLayout 而不是relativelayout
\n\n<android.support.v7.widget.CardView\n xmlns:card_view="http://schemas.android.com/apk/res-auto"\n android:id="@+id/currentData"\n android:layout_width="match_parent"\n android:layout_height="wrap_content"\n card_view:cardCornerRadius="4dp"\n card_view:cardBackgroundColor="@color/orange">\n\n <LinearLayout\n android:id="@+id/cardviewLayout"\n android:layout_width="wrap_content"\n android:layout_height="wrap_content"\n android:layout_gravity="center"\n android:padding="10dp"\n android:weightSum="2"\n android:orientation="vertical">\n\n <TextView\n android:id="@+id/time"\n tools:text="this is the time"\n android:layout_width="wrap_content"\n android:layout_height="0dp"\n android:layout_above="@+id/temperature"\n android:weight="1"\n android:textColor="@color/white"/>\n\n <TextView\n android:id="@+id/temperature"\n tools:text="50\xc2\xb0"\n android:layout_width="wrap_content"\n android:layout_height="0dp"\n android:weight="1"\n android:textSize="50sp" />\n\n </LinearLayout>\n\n</android.support.v7.widget.CardView>\nRun Code Online (Sandbox Code Playgroud)\n\n或者如果你想使用RelativeLayout你可以使用这个技巧
\n\n<android.support.v7.widget.CardView\n xmlns:card_view="http://schemas.android.com/apk/res-auto"\n android:id="@+id/currentData"\n android:layout_width="match_parent"\n android:layout_height="wrap_content"\n card_view:cardCornerRadius="4dp"\n card_view:cardBackgroundColor="@color/orange">\n\n <RelativeLayout\n android:id="@+id/cardviewLayout"\n android:layout_width="wrap_content"\n android:layout_height="wrap_content"\n android:layout_gravity="center"\n android:padding="10dp"\n android:orientation="vertical">\n\n <View\n android:id="@+id/anchor_view"\n android:layout_width="0dp"\n android:layout_height="0dp"\n android:layout_centerInParent="true"/>\n\n <TextView\n android:id="@+id/time"\n tools:text="this is the time"\n android:layout_width="wrap_content"\n android:layout_height="match_parent"\n android:layout_centerHorizontal="true"\n android:layout_centerVertical="true"\n android:layout_above="@+id/anchor_view"\n android:textColor="@color/white"/>\n\n <TextView\n android:id="@+id/temperature"\n tools:text="50\xc2\xb0"\n android:layout_width="wrap_content"\n android:layout_height="match_parent"\n android:layout_centerHorizontal="true"\n android:layout_centerVertical="true"\n android:layout_below="@+id/anchor_view"\n android:textSize="50sp" />\n\n </RelativeLayout>\n\n</android.support.v7.widget.CardView>\nRun Code Online (Sandbox Code Playgroud)\n\n这样,锚视图将位于父视图的中间,但不会被绘制,因为宽度和高度为零,但它将成为时间和温度的参考,因此时间将填充上半部分,温度将填充填充下半部分
\n| 归档时间: |
|
| 查看次数: |
4001 次 |
| 最近记录: |