layout_height =“ match_parent”不能按预期工作

时间:2019-09-08 01:25:09

标签: android xml

我有一个简单的看法,如下;

<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:minHeight="60dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/holo_red_dark"
        android:gravity="center">

        <TextView
            android:Text="Some text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    </LinearLayout>

</androidx.cardview.widget.CardView>

即使LinearLayout的高度和宽度都明确设置为与其父级匹配,它也与CardView的宽度匹配,但将内容高度包装。 为什么会这样?

2 个答案:

答案 0 :(得分:2)

我想发表评论,但无论如何我都没有“足够的声誉”。 您是否在gradle文件中添加了Dependecy'androidx.cardview:cardview:1.0.0'?您的代码对我来说很好用,但是,我不知道您是否添加了依赖项。

答案 1 :(得分:0)

拥有

android:layout_height="match_parent"
CardViewLinearLayout中的

表示LinearLayout的高度与CardView的父母的高度相同,小于60dp。然后设置

android:minHeight="60dp"
CardView中的

将其高度更改为60dp,同时保持LinearLayout的高度不变。我将CardView中的这两行替换为

android:layout_height="60dp"

问题解决了。

我仍然认为这是不直观的,但是看起来就是这样。