【问题标题】:Cardview is not visible when launching on my device在我的设备上启动时看不到 Cardview
【发布时间】:2019-11-18 21:48:03
【问题描述】:

我正在尝试使用卡片视图来显示 2 张图片。一切似乎都在 android studio 中工作,我可以在设计选项卡中完美地看到我的布局。但是,当我在平板电脑上运行时,卡片视图没有显示。该布局适用于虚拟设备,但不适用于我的个人设备。

<?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"

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

我知道这似乎有点基本,但被卡住了一段时间,似乎无法找到解决办法。任何帮助深表感谢。

【问题讨论】:

    标签: android android-linearlayout android-cardview


    【解决方案1】:
    <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。我想这就是问题所在。

    【讨论】:

    • 嗨,恐怕还是没有运气。它可以在我的模拟器上查看,但不能在我的设备上查看。
    【解决方案2】:

    `

    <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>`
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 2023-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多