2017-10-04 164 views
0

我正在爲我的Android應用程序構建我的自定義佈局,並且我正在向一個LinearLayout添加高程,但它不起作用,我嘗試了很多在web上找到的解決方案,但沒有成功。Elevation在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> 

關注,隨着海拔的佈局是不是頂級的LinearLayout,它與 「提升」 屬性佈局...

你能幫忙我找到一個解決方案,以獲得正確的海拔?

非常感謝。

+0

你能提供的示例屏幕截圖樣機什麼你想讓結果看起來像? –

+0

使用高程的最佳方式是在卡片視圖中。否則,它太麻煩了。 – AeriaGlorisia

回答

0

此禮添加到您LinearLayout

android:outlineProvider="bounds" 

確保所有視圖父母從你想設置海拔沒有填充的元素。這可能會導致陰影被剪切。一種用於該解決方案是這樣的屬性添加到所有父視圖:

android:clipToPadding="false" 

另外,如果你有這條線在清單中的陰影不會顯示:

android:hardwareAccelerated="false" 
+0

嗨@GuilhermeFGL,感謝您的回答,我在LL上插入了您的行,並且我不清楚清單中的行,無論如何它不工作... –

+0

什麼是您用來測試視圖? – GuilhermeFGL

+0

它是API 24(Android 7.0) –

相關問題