【发布时间】:2017-12-18 16:53:26
【问题描述】:
我尝试在 xml 中重现此设计,但我有一个问题,我无法正确放置编辑按钮,我希望它始终粘在卡片视图的底部,但卡片视图中的一个派对和外面的一部分,这是我的 xml 代码和设计(用于自定义警报对话框,有问题的按钮位于底部 id cpdEdit。):
代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/relative"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:gravity="center">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardCornerRadius="3dp"
android:id="@+id/cardView">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:adjustViewBounds="true"
android:maxHeight="30dp"
android:id="@+id/cdpClose"
android:maxWidth="30dp"
android:src="@drawable/close_ics" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="40dp"
android:paddingRight="40dp">
<TextView
android:id="@+id/un"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginTop="40dp"
android:text="Nom"
android:textColor="@color/colorPrimary"
android:textSize="17sp" />
<TextView
android:id="@+id/deu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/cdpName"
android:layout_marginTop="10dp"
android:text="Numero"
android:textColor="@color/colorPrimary"
android:textSize="17sp" />
<TextView
android:id="@+id/troi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/cdpName"
android:layout_below="@+id/cdpNumberPhone"
android:text="Adress"
android:layout_marginTop="10dp"
android:textColor="@color/colorPrimary"
android:textSize="17sp" />
<TextView
android:id="@+id/trois"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/cdpAdress"
android:layout_marginTop="10dp"
android:text="Info"
android:textColor="@color/colorPrimary"
android:textSize="17sp" />
<TextView
android:id="@+id/troiss"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_alignStart="@+id/troi"
android:layout_below="@+id/cdpInfo"
android:text="Note"
android:textColor="@color/colorPrimary"
android:textSize="17sp" />
<EditText
android:id="@+id/cdpName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/un"
android:enabled="false"
android:text="Mickael Belhassen"
android:textColor="#000000"
android:textSize="17sp" />
<EditText
android:id="@+id/cdpNumberPhone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/deu"
android:enabled="false"
android:text="0584688800"
android:textColor="#000000"
android:textSize="17sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignTop="@+id/cdpNumberPhone"
android:layout_marginEnd="12dp"
android:adjustViewBounds="true"
android:maxHeight="30dp"
android:maxWidth="30dp"
android:src="@drawable/copy_ics"
android:id="@+id/cdpCopyPhone" />
<EditText
android:id="@+id/cdpAdress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/troi"
android:enabled="false"
android:text="20 Dizengoff Street"
android:textColor="#000000"
android:textSize="17sp" />
<EditText
android:id="@+id/cdpInfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/trois"
android:enabled="false"
android:text="Info supp"
android:textColor="#000000"
android:textSize="17sp" />
<EditText
android:id="@+id/cdpNote"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/troiss"
android:enabled="false"
android:layout_marginBottom="40dp"
android:text="Note"
android:textColor="#000000"
android:textSize="17sp" />
</RelativeLayout>
</android.support.v7.widget.CardView>
<Button
android:id="@+id/cdpEdit"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="428dp"
android:background="@drawable/buttonshapeedit"/>
</RelativeLayout>
真正困扰我的是margintop ...
【问题讨论】:
-
你有它应该是什么样子的图片吗?
-
是的,我忘了,看我的帖子点击链接
-
我不确定我是否遵循您的确切问题...但是您的卡片视图有一个包装内容...将其更改为 match_parent 并且它将删除顶部的边距。
-
我希望蓝色按钮与照片中的一样。使用我制作的代码,它可以工作,但这不是一个好方法,因为根据屏幕,蓝色按钮并不总是在同一个地方。我希望这个按钮一半在卡片视图中,一半在外面,而不使用这么大的margintop。我希望按钮粘在卡片视图的底部,并留出最大 15dp 的边距
-
啊。我现在明白了。在卡片视图之后移动按钮并将其添加到按钮中。 android:layout_marginBottom="25dp"