如何创建带有垂直阴影和物品的CardView

时间:2019-04-02 22:03:46

标签: java android android-layout layout

我正在尝试创建类似这样的东西:

cardview image

但是我得到的是:

cardview own

我正在尝试创建cardview,在这种情况下,它是深紫色的东西,并且在其中创建TextView EditTextButton,您可以指导如何创建几乎相同的内容布局? EditText上具有边框的可绘制对象?

这是我的代码:

<?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"
        tools:context=".feature.exam.ExamActivity">

    <android.support.v7.widget.CardView
            xmlns:card_view="http://schemas.android.com/apk/res-auto"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            card_view:cardCornerRadius="20dp"
            card_view:cardElevation="0dp"
            card_view:cardBackgroundColor="@color/colorPrimary"
            android:background="#a9a9a9"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginTop="33dp"
            android:id="@+id/view"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
    >
        <LinearLayout android:orientation="vertical" android:layout_width="wrap_content"
                      android:layout_height="wrap_content">

            <EditText
                    android:id="@+id/dialog_txt_name"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_margin="10dp"
                    android:hint="Name"
                    android:singleLine="true">

                <requestFocus/>
            </EditText>
            <Button
                    android:id="@+id/btn_login"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="60dp"
                    android:padding="5dp"
                    android:textColor="#ffffff"
                    android:text="Submit"/>
        </LinearLayout>


    </android.support.v7.widget.CardView>


</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

看起来您需要类似的东西,但不要忘了迁移到androidX或为其他支持库重写此代码:

<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="1dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_marginTop="1dp"
android:elevation="0dp"
card_view:cardBackgroundColor="@color/transparent_background"
card_view:cardCornerRadius="10dp"
>

<androidx.constraintlayout.widget.ConstraintLayout
    android:id="@+id/constraintLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    >


    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="32dp"
        android:layout_marginEnd="8dp"
        android:text="Enter your name"
        card_view:layout_constraintEnd_toEndOf="parent"
        card_view:layout_constraintStart_toStartOf="parent"
        card_view:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="8dp"
        android:text="Abby M"
        card_view:layout_constraintEnd_toEndOf="parent"
        card_view:layout_constraintStart_toStartOf="parent"
        card_view:layout_constraintTop_toBottomOf="@+id/textView4" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="32dp"
        android:text="Join game"
        card_view:layout_constraintBottom_toBottomOf="parent"
        card_view:layout_constraintEnd_toEndOf="parent"
        card_view:layout_constraintHorizontal_bias="0.508"
        card_view:layout_constraintStart_toStartOf="parent"
        card_view:layout_constraintTop_toBottomOf="@+id/button2"
        card_view:layout_constraintVertical_bias="1.0" />
</androidx.constraintlayout.widget.ConstraintLayout>

Preview