Как преобразовать линейный макет в cardview?

#java #android #android-studio

#java #Android #android-studio

Вопрос:

Я работаю над проектом AS, в котором есть LinearLayout, но я хочу преобразовать его в cardview для отображения в recyclerview. Пожалуйста, предложите мне код для преобразования его в cardview с тем же именем идентификатора и значениями. Заранее благодарю вас. Это текущее LinearLayout, которое необходимо изменить

Это необходимый макет.

Это код макета.

 <?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"
android:id="@ id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:gravity="center"
android:orientation="horizontal">

<ImageView
    android:id="@ id/imageView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="@dimen/activity_horizontal_margin"
    android:layout_marginEnd="@dimen/activity_horizontal_margin"
    android:adjustViewBounds="true"
    android:contentDescription="Icon"
    android:scaleType="centerInside"
    app:srcCompat="@drawable/pdf_icon" />

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">


    <TextView
        android:id="@ id/fileName"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:gravity="center_vertical"
        android:text="file label"
        android:textSize="20sp"
        android:textStyle="bold" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:orientation="horizontal">



        <TextView
            android:id="@ id/timeLabel"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:drawablePadding="2dp"
            android:paddingLeft="10dp"
            android:text="01-04-2019 22:10"
            android:textSize="15sp" />

        <TextView
            android:id="@ id/pageCount"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:drawablePadding="2dp"
            android:paddingLeft="10dp"
            android:text="1 Page"
            android:textSize="12sp" />

    </LinearLayout>

</LinearLayout>

<Button
    android:id="@ id/sharefile"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:drawableRight="@drawable/ic_menu_share" />

</LinearLayout>  

Комментарии:

1. вы можете просто добавить зависимость для CardView, а затем поместить свой LinearLayout в CardView

2. извините, по ошибке я скопировал неправильный код макета, я отредактировал код. Пожалуйста, просмотрите его еще раз.

3. хорошо … всего минуту, я пишу ответ

Ответ №1:

может ли этот код помочь вам

шаг 1:> добавить зависимости CardView

 implementation "androidx.cardview:cardview:1.0.0"
  

шаг 2: и следующий код пользователя

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<!-- A CardView that contains a LinearLayout -->
<androidx.cardview.widget.CardView
    android:id="@ id/card_view"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:layout_gravity="center"
    card_view:cardCornerRadius="5dp">

    <LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@ id/relativeLayout"
        android:layout_width="match_parent"
        android:layout_height="?android:attr/listPreferredItemHeight"
        android:gravity="center"
        android:orientation="horizontal">

        <ImageView
            android:id="@ id/imageView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="@dimen/activity_horizontal_margin"
            android:layout_marginEnd="@dimen/activity_horizontal_margin"
            android:adjustViewBounds="true"
            android:contentDescription="Icon"
            android:scaleType="centerInside"
            app:srcCompat="@drawable/pdf_icon" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">


            <TextView
                android:id="@ id/fileName"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="center_vertical"
                android:text="file label"
                android:textSize="20sp"
                android:textStyle="bold" />

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:orientation="horizontal">


                <TextView
                    android:id="@ id/timeLabel"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:drawablePadding="2dp"
                    android:paddingLeft="10dp"
                    android:text="01-04-2019 22:10"
                    android:textSize="15sp" />

                <TextView
                    android:id="@ id/pageCount"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:drawablePadding="2dp"
                    android:paddingLeft="10dp"
                    android:text="1 Page"
                    android:textSize="12sp" />

            </LinearLayout>

        </LinearLayout>

        <Button
            android:id="@ id/sharefile"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:drawableRight="@drawable/ic_menu_share" />

    </LinearLayout>

</androidx.cardview.widget.CardView>
</LinearLayout>