我正在制作一个应用,在卡片视图中将有一个列表视图。下面是XML代码。我想使用高程,所以我做了。但这没有用。所以我在这里看了一些问题的答案。我使用compatPadding和hardwareAccelerated =“ true”尝试了其中的大多数,包括依赖项。但是,当我在Redmi 5 mobile中运行该应用程序时,可以很好地显示listview,但是看不到CardView高度或卡下的阴影,只是一条正常的线。我在下面的listView布局XML(不是主要活动XML)中犯了任何错误:
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/tools"
android:id="@+id/cardViewMain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorAccent"
android:layout_margin="8dp"
card_view:cardCornerRadius="3dp"
card_view:cardElevation="16dp"
card_view:cardUseCompatPadding="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/ivMain"
android:layout_width="352dp"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginStart="6dp"
android:layout_marginLeft="6dp"
android:layout_marginTop="13dp"
android:layout_marginEnd="8dp"
app:srcCompat="@drawable/dhaka" />
<TextView
android:id="@+id/tvMain"
android:layout_width="365dp"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginStart="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="144dp"
android:layout_marginEnd="9dp"
android:layout_marginRight="9dp"
android:fontFamily="@font/audiowide"
android:text="TextView"
android:textAllCaps="true"
android:textColor="@color/blue"
android:textSize="22sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tvDesc"
android:layout_width="342dp"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/tvMain"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginStart="3dp"
android:layout_marginLeft="13dp"
android:layout_marginTop="183dp"
android:layout_marginEnd="11dp"
android:fontFamily="@font/aldrich"
android:text="TextView"
android:textAllCaps="false"
android:textColor="@color/colorPrimary"
android:textSize="18sp"
android:textStyle="italic" />
</RelativeLayout>
</android.support.v7.widget.CardView>
依赖项:
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-
core:3.0.2'
implementation 'com.android.support:cardview-v7:28.0.0'
}
如果您需要activity_main.xml文件代码,请告诉我。谢谢
答案 0 :(得分:0)
将其删除`app:cardElevation =“ @ dimen / size_3”并使用app:cardElevation =“ @ dimen / size_3”
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/tools"
android:id="@+id/cardViewMain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorAccent"
android:layout_margin="8dp"
card_view:cardCornerRadius="3dp"
card_view:cardElevation="16dp"
card_view:cardUseCompatPadding="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/ivMain"
android:layout_width="352dp"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginStart="6dp"
android:layout_marginLeft="6dp"
android:layout_marginTop="13dp"
android:layout_marginEnd="8dp"
app:srcCompat="@drawable/dhaka" />
<TextView
android:id="@+id/tvMain"
android:layout_width="365dp"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginStart="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="144dp"
android:layout_marginEnd="9dp"
android:layout_marginRight="9dp"
android:fontFamily="@font/audiowide"
android:text="TextView"
android:textAllCaps="true"
android:textColor="@color/blue"
android:textSize="22sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tvDesc"
android:layout_width="342dp"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/tvMain"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginStart="3dp"
android:layout_marginLeft="13dp"
android:layout_marginTop="183dp"
android:layout_marginEnd="11dp"
android:fontFamily="@font/aldrich"
android:text="TextView"
android:textAllCaps="false"
android:textColor="@color/colorPrimary"
android:textSize="18sp"
android:textStyle="italic" />
</RelativeLayout>
</android.support.v7.widget.CardView>
答案 1 :(得分:0)
解决方案:
尽管您的布局在我的笔记本电脑上工作正常。 (在下面附上图片)
您可以尝试以下解决方案之一:
解决方案1:
将您的 hardwareAccelerated = "false"
放入您的 Manifest.xml
尽管如此,但在大多数情况下并非必需。 (我没有在我的机器上添加它,但仍然可以使用)
解决方案2:
将某些边距应用为: android:layout_margin="4dp"
因为有时您有高程,但由于隐藏在高处而似乎没有出现
解决方案3:
确保您具有 res-auto 模式 xmlns:card_view="http://schemas.android.com/apk/res-auto"
用于显示卡视图的高度
解决方案4:
如果上述解决方案都不适合您,请最后尝试添加以下两个依赖项:
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
我认为,给定的解决方案之一必须奏效。
但是,按照我对您程序的看法, Solution3 应该可以工作。所以,
替换此:
xmlns:card_view="http://schemas.android.com/tools"
与此:
xmlns:card_view="http://schemas.android.com/apk/res-auto"
或,您也可以在cardview
xml中将app
替换为cardview
,如下所示:
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/tools"
android:id="@+id/cardViewMain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorAccent"
android:layout_margin="8dp"
app:cardCornerRadius="3dp"
app:cardElevation="16dp"
app:cardUseCompatPadding="true">
........
</android.support.v7.widget.CardView>
我希望其中一种方法对您有用。
答案 2 :(得分:-1)
尝试使用
android:translationZ="5dp"
以产生高程效果。 :)