2015-07-25 3 views
13

У меня проблемы с прозрачностью CardView и card_elevation. Попытка использовать CardView прозрачный результат является:Android CardView со странной границей при прозрачности

enter image description here

Без прозрачности:

enter image description here

То, что я пытаюсь получить что-то вроде этого:

enter image description here

Это мой xml:

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:card_view="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@mipmap/eifell" 
    android:padding="10dp" 
    tools:context=".MainActivity"> 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:paddingTop="5dp" 
     android:background="@android:color/transparent"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <android.support.v7.widget.CardView 
       android:id="@+id/newsCardView" 
       android:layout_width="match_parent" 
       android:layout_height="175dp" 
       card_view:cardBackgroundColor="#602B608A" 
       card_view:cardElevation="5dp"> 

       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:background="@android:color/transparent"> 
       </LinearLayout> 

      </android.support.v7.widget.CardView> 

     </LinearLayout> 
    </ScrollView> 

</RelativeLayout> 
+1

ли вы когда-нибудь обходной путь для этого? Похоже, что карты не предназначены для поддержки прозрачности фона: https://code.google.com/p/android/issues/detail?id=78061 –

+1

Привет, Стив, нет. Я просто использую RelativeLayout с прозрачным фоном без тень (высота). Когда я найду что-нибудь, я отправлю туда. – cRobot

+0

@SteveBlackwell Это действительный ответ на этот вопрос. Благодарю. –

ответ

5

Попробуйте этот код:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:card_view="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/newsCardView" 
     android:layout_width="175dp" 
     android:layout_height="175dp" 
     card_view:cardBackgroundColor="#602B608A" 
     card_view:cardCornerRadius="0dp" 
     card_view:cardElevation="5dp"> 

    </android.support.v7.widget.CardView> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/imageView" 
     android:layout_gravity="left|top" 
     android:src="@drawable/fake_image" /> //REPLACE THIS WITH YOUR IMAGE 
</FrameLayout> 

enter image description here

Если это не помогло, обеспечить весь XML-код вашего макета

+0

Все отлично работает на моем устройстве, попробуйте обновить библиотеку cardView до com.android.support:cardview-v7:22.1.1 –

+0

Я использую эту версию уже, какую версию для Android вы тестировали? – cRobot

+0

Android 4.4.2 и Android 5.1.1 –