CardView 内的布局重叠
Layouts inside CardView are overlapping
我正在尝试为我的应用程序设计卡片布局。目前我已经创建了如下布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#E4E8F8"
android:orientation="vertical"
android:padding="10dp"
android:visibility="visible"
tools:context=".MainActivity"
tools:visibility="visible">
<androidx.cardview.widget.CardView
android:id="@+id/current1"
android:layout_width="match_parent"
android:layout_height="200dp"
app:cardBackgroundColor="#ffffe0">
<LinearLayout
android:id="@+id/card_head2"
android:layout_width="374dp"
android:layout_height="49dp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="10dp"
android:orientation="horizontal"
android:weightSum="3">
<ImageView
android:id="@+id/imageView1"
android:layout_width="70dp"
android:layout_height="46dp"
android:adjustViewBounds="true"
android:baselineAligned="false"
android:contentDescription="@string/todo"
app:srcCompat="@drawable/ic_map" />
<TextView
android:id="@+id/textView1"
android:layout_width="51dp"
android:layout_height="46dp"
android:gravity="center"
android:text="@string/map"
android:textColor="#0F0F0F"
android:textSize="15sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="70dp"
android:layout_height="46dp"
android:adjustViewBounds="true"
android:baselineAligned="false"
android:contentDescription="@string/todo"
app:srcCompat="@drawable/ic_calendar" />
<TextView
android:id="@+id/textView2"
android:layout_width="66dp"
android:layout_height="46dp"
android:gravity="center"
android:text="@string/date"
android:textColor="#0F0F0F"
android:textSize="15sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="57dp"
android:layout_height="46dp"
android:adjustViewBounds="true"
android:baselineAligned="false"
android:contentDescription="@string/todo"
app:srcCompat="@drawable/ic_watch" />
<TextView
android:id="@+id/textView3"
android:layout_width="60dp"
android:layout_height="46dp"
android:gravity="center"
android:text="@string/time"
android:textColor="#0F0F0F"
android:textSize="15sp"
android:textStyle="bold" />
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
当我尝试在创建的水平线性布局下方添加另一个水平线性布局时,新创建的水平布局与卡内现有的水平布局重叠。
我想做的是这个(我通过按住鼠标按钮将布局保持在现有布局下方来截取这张照片):
但是当我释放鼠标按钮时,布局会自动调整并与现有布局重叠,如下所示:
请帮我创建布局。
您需要一个 LinearLayout
的垂直方向作为 CardView
的根,以便能够以垂直方式堆叠 LinearLayouts
。
<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/current1"
android:layout_width="match_parent"
android:layout_margin="10dp"
android:layout_height="200dp"
app:cardBackgroundColor="#ffffe0">
<!--You need a root layout of your CardView-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/card_head2"
android:layout_width="374dp"
android:layout_height="49dp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="10dp"
android:orientation="horizontal"
android:weightSum="3">
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
</androidx.cardview.widget.CardView>
我正在尝试为我的应用程序设计卡片布局。目前我已经创建了如下布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#E4E8F8"
android:orientation="vertical"
android:padding="10dp"
android:visibility="visible"
tools:context=".MainActivity"
tools:visibility="visible">
<androidx.cardview.widget.CardView
android:id="@+id/current1"
android:layout_width="match_parent"
android:layout_height="200dp"
app:cardBackgroundColor="#ffffe0">
<LinearLayout
android:id="@+id/card_head2"
android:layout_width="374dp"
android:layout_height="49dp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="10dp"
android:orientation="horizontal"
android:weightSum="3">
<ImageView
android:id="@+id/imageView1"
android:layout_width="70dp"
android:layout_height="46dp"
android:adjustViewBounds="true"
android:baselineAligned="false"
android:contentDescription="@string/todo"
app:srcCompat="@drawable/ic_map" />
<TextView
android:id="@+id/textView1"
android:layout_width="51dp"
android:layout_height="46dp"
android:gravity="center"
android:text="@string/map"
android:textColor="#0F0F0F"
android:textSize="15sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="70dp"
android:layout_height="46dp"
android:adjustViewBounds="true"
android:baselineAligned="false"
android:contentDescription="@string/todo"
app:srcCompat="@drawable/ic_calendar" />
<TextView
android:id="@+id/textView2"
android:layout_width="66dp"
android:layout_height="46dp"
android:gravity="center"
android:text="@string/date"
android:textColor="#0F0F0F"
android:textSize="15sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="57dp"
android:layout_height="46dp"
android:adjustViewBounds="true"
android:baselineAligned="false"
android:contentDescription="@string/todo"
app:srcCompat="@drawable/ic_watch" />
<TextView
android:id="@+id/textView3"
android:layout_width="60dp"
android:layout_height="46dp"
android:gravity="center"
android:text="@string/time"
android:textColor="#0F0F0F"
android:textSize="15sp"
android:textStyle="bold" />
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
当我尝试在创建的水平线性布局下方添加另一个水平线性布局时,新创建的水平布局与卡内现有的水平布局重叠。
我想做的是这个(我通过按住鼠标按钮将布局保持在现有布局下方来截取这张照片):
但是当我释放鼠标按钮时,布局会自动调整并与现有布局重叠,如下所示:
请帮我创建布局。
您需要一个 LinearLayout
的垂直方向作为 CardView
的根,以便能够以垂直方式堆叠 LinearLayouts
。
<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/current1"
android:layout_width="match_parent"
android:layout_margin="10dp"
android:layout_height="200dp"
app:cardBackgroundColor="#ffffe0">
<!--You need a root layout of your CardView-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/card_head2"
android:layout_width="374dp"
android:layout_height="49dp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="10dp"
android:orientation="horizontal"
android:weightSum="3">
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
</androidx.cardview.widget.CardView>