在我的设备上启动时,Cardview不可见

时间:2019-11-18 21:48:03

标签: android android-linearlayout android-cardview

我正在尝试使用Cardview显示2张图像。一切似乎都在android studio中正常工作,我可以在“设计”标签中完美地看到自己的布局。但是,当我在平板电脑上运行时,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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#D3D3D3"
    android:weightSum="10">

<RelativeLayout
    android:layout_weight="2"
    android:layout_width="match_parent"
    android:layout_height="0dp">

    <TextView
        android:id="@+id/textGrid"
        android:text="GRID LAYOUT"
        android:textSize="34sp"
        android:textColor="#000"
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</RelativeLayout>

<GridLayout
    android:id="@+id/mainGrid"
    android:rowCount="3"
    android:columnCount="2"
    android:alignmentMode="alignMargins"
    android:columnOrderPreserved="false"
    android:layout_weight="8"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:padding="14dp">

    <androidx.cardview.widget.CardView
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_columnWeight="1"
        android:layout_marginBottom="16dp"
        android:layout_rowWeight="1"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        app:cardElevation="8dp"
        app:cardCornerRadius="8dp">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal|center_vertical"
            android:orientation="vertical">

        </LinearLayout>

        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/torso2green" />

    </androidx.cardview.widget.CardView>

    <androidx.cardview.widget.CardView
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_columnWeight="1"
        android:layout_marginBottom="16dp"
        android:layout_rowWeight="1"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        app:cardElevation="8dp"
        app:cardCornerRadius="8dp">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal|center_vertical"
            android:orientation="vertical">

        </LinearLayout>

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/torso2" />

    </androidx.cardview.widget.CardView>

</GridLayout>

我尝试过的事情:

  • 添加依赖项:实现'com.android.support:cardview-v7:28.0.0'

  • 在清单文件中添加android:hardwareAccelerated =“ true”

  • 拖动布局而不是对其进行编码

我知道这似乎有点基础,但是卡住了一段时间,似乎找不到解决方法。任何帮助深表感谢。 enter image description here

2 个答案:

答案 0 :(得分:0)

<GridLayout
android:id="@+id/mainGrid"
android:rowCount="3"
android:columnCount="2"
android:alignmentMode="alignMargins"
android:columnOrderPreserved="false"
android:layout_weight="8"
android:layout_width="match_parent"
**android:layout_height="0dp"**
android:padding="14dp">

您的布局高度为0。我想这就是问题。

答案 1 :(得分:0)

enter image description here

`

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#D3D3D3"
    android:weightSum="10">

        <TextView
            android:id="@+id/textGrid"
            android:text="Using Linear Layout"
            android:textSize="34sp"
            android:textColor="#000"
            android:gravity="center"
            android:layout_margin="10dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="none">

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

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

                <androidx.cardview.widget.CardView
                    android:layout_width="150dp"
                    android:layout_height="150dp"
                    android:layout_weight="1"
                    android:layout_marginLeft="14dp"
                    android:layout_marginRight="7dp"
                    app:cardElevation="8dp"
                    app:cardCornerRadius="8dp">

                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal|center_vertical"
                        android:orientation="vertical">

                    </LinearLayout>

                    <TextView
                        android:id="@+id/textView1"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:layout_margin="10dp"
                        android:text="TextView" />

                    <ImageView
                        android:id="@+id/imageView1"
                        android:layout_width="wrap_content"
                        android:layout_gravity="center"
                        android:layout_height="wrap_content"
                        android:src="@mipmap/ic_launcher" />

                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:layout_width="150dp"
                    android:layout_height="150dp"
                    android:layout_weight="1"
                    android:layout_marginLeft="7dp"
                    android:layout_marginRight="14dp"
                    app:cardElevation="8dp"
                    app:cardCornerRadius="8dp">

                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal|center_vertical"
                        android:orientation="vertical">

                    </LinearLayout>

                    <TextView
                        android:id="@+id/textView2"
                        android:layout_width="match_parent"
                        android:gravity="center"
                        android:layout_height="wrap_content"
                        android:layout_margin="10dp"
                        android:text="TextView" />

                    <ImageView
                        android:id="@+id/imageView2"
                        android:layout_width="wrap_content"
                        android:layout_gravity="center"
                        android:layout_height="wrap_content"
                        android:src="@mipmap/ic_launcher" />

                </androidx.cardview.widget.CardView>

            </LinearLayout>
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="14dp"
                android:orientation="horizontal">

                <androidx.cardview.widget.CardView
                    android:layout_width="150dp"
                    android:layout_height="150dp"
                    android:layout_weight="1"
                    android:layout_marginLeft="14dp"
                    android:layout_marginRight="7dp"
                    app:cardElevation="8dp"
                    app:cardCornerRadius="8dp">

                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal|center_vertical"
                        android:orientation="vertical">

                    </LinearLayout>

                    <TextView
                        android:id="@+id/textView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:layout_margin="10dp"
                        android:text="TextView" />

                    <ImageView
                        android:id="@+id/imageView"
                        android:layout_width="wrap_content"
                        android:layout_gravity="center"
                        android:layout_height="wrap_content"
                        android:src="@mipmap/ic_launcher" />

                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:layout_width="150dp"
                    android:layout_height="150dp"
                    android:layout_weight="1"
                    android:layout_marginLeft="7dp"
                    android:layout_marginRight="14dp"
                    app:cardElevation="8dp"
                    app:cardCornerRadius="8dp">

                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal|center_vertical"
                        android:orientation="vertical">

                    </LinearLayout>

                    <TextView
                        android:id="@+id/textView4"
                        android:layout_width="match_parent"
                        android:gravity="center"
                        android:layout_height="wrap_content"
                        android:layout_margin="10dp"
                        android:text="TextView" />

                    <ImageView
                        android:id="@+id/imageView4"
                        android:layout_width="wrap_content"
                        android:layout_gravity="center"
                        android:layout_height="wrap_content"
                        android:src="@mipmap/ic_launcher" />

                </androidx.cardview.widget.CardView>

            </LinearLayout>

        </LinearLayout>

    </ScrollView>


</LinearLayout>`