我正在为我的 Android 应用程序构建我的自定义布局,我正在尝试向一个 LinearLayout 添加高度,但它不起作用,我尝试了很多在网络上找到的解决方案,但没有成功。
我的 xml 是这样的:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp">
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/admin_gray"
app:civ_border_width="2dp"
app:civ_border_color="@android:color/darker_gray"
android:layout_marginRight="10dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/tvNewsAggiuntoCommentoDescrizione"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Username ha commentato una ricetta:"/>
<TextView
android:id="@+id/tvNewsAggiuntoCommentoData"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="25/05/1989 12:58:07"
android:textColor="@android:color/darker_gray" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/white"
android:elevation="10dp">
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/rounded_linear_layout_tile_ricetta"
android:layout_marginBottom="5dp"
>
<ImageView
android:id="@+id/imageViewRicetta"
android:layout_width="match_parent"
android:layout_height="150dp"
android:src="@mipmap/cibo"
android:scaleType="centerCrop"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Antipasto"
android:background="@color/colorCategoriaRicetta"
android:layout_alignBaseline="@id/imageViewRicetta"
android:layout_gravity="right|top"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/white"
android:padding="3dp"
android:id="@+id/tvCategoriaRicetta"
android:elevation="4dp"/>
<TextView
android:id="@+id/tvTitoloRicetta"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Maxi hamburger con maionese"
android:background="@color/colorBackgroundTextViewNomeRicetta"
android:layout_alignBaseline="@id/imageViewRicetta"
android:layout_gravity="left|bottom"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@android:color/white"
android:paddingLeft="5dp"
android:textStyle="bold" />
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/imageViewFotoAltroUtente"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:src="@drawable/admin_gray"
app:civ_border_width="2dp"
app:civ_border_color="@android:color/darker_gray" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="5dp">
<TextView
android:id="@+id/tvUsernameUtenteCommento"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:text="Username"/>
<TextView
android:id="@+id/tvNewsAggiuntoCommentoCommento"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Questo è il testo di esempio di un commento a una ricetta"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
注意,带有 elevation 的布局不是顶部的 LinearLayout,它是带有“elevation”属性的布局...
你能帮我找到一个正确获取高程的解决方案吗?
非常感谢。
最佳答案
给你添加这个属性 LinearLayout
:
android:outlineProvider="bounds"
确保要设置高度的元素的所有 View 父项都没有填充。这会导致阴影被剪裁。一个解决方案是将此属性添加到所有父 View :
android:clipToPadding="false"
此外,如果您在 list 中有此行,则不会显示阴影:
android:hardwareAccelerated="false"
关于android - 海拔不适用于 LinearLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46566890/