gpt4 book ai didi

java - CardView在不同屏幕密度下无法正确显示?

转载 作者:行者123 更新时间:2023-12-02 01:33:22 25 4
gpt4 key购买 nike

我有一个带有卡片 View 的 ViewPager,卡片 View 在某些设备上可以正确显示,但在大多数设备上显示得很薄。ViewPager 位于 Fragment 中。

我正在使用 LinearLayout 来定义 CardView,我尝试了relative,但我有同样的问题。

https://ibb.co/kyNF5Yz “来自不同设备的示例”

项目.xml https://gist.github.com/Bryan9797/1eda5e7d02d1a12140115a539f164e3e

Fragment_bateria.xml https://gist.github.com/Bryan9797/b5d7b16a6d0599b7fd7f593226a4523d

activity_main.xml https://gist.github.com/Bryan9797/632461d73286afa5493167048b8e19c0

我希望在不同的设备上正确显示 Cardview。

最佳答案

您可以使用 sdp 库为所有设备提供响应式 XML。

https://github.com/intuit/sdp
您可以在 gradle 中安装此依赖项并使用此 sdp 而不是 dp。您可以设置此 sdp 并将高度设置为 xml 布局中的wrapp_content,如下所示:

<?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:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_5sdp"
app:cardCornerRadius="@dimen/_20sdp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="@dimen/_350sdp"
android:scaleType="centerCrop"
android:src="@color/colorAccent" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/image"
android:layout_marginLeft="@dimen/_15sdp"
android:layout_marginTop="10dp"
android:text="Escritorio ejecutivo"
android:textColor="#262626"
android:textSize="@dimen/_20ssp" />
<TextView
android:id="@+id/desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/title"
android:layout_marginLeft="@dimen/_15sdp"
android:layout_marginTop="@dimen/_3sdp"
android:layout_marginRight="@dimen/_15sdp"
android:drawablePadding="@dimen/_10sdp"
android:ellipsize="end"
android:maxLines="4"
android:text="Escritorio ejecutivo"
android:textSize="@dimen/_15ssp" />
</RelativeLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>

关于java - CardView在不同屏幕密度下无法正确显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57541065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com