2015-11-20 30 views
10

, ben scrollview içinde bir CardView koymak için çalışıyorum gölge, ancak CardView yükseklik gölge, yani ana tarafından kapalı olmak ancak :Android scrollview kırpma çocuk yükseklik Başlık devletler gibi

<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".TestScrollViewActivity"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="128dp" 
     android:background="?colorPrimary" 
     android:gravity="bottom" 
     android:minHeight="?actionBarSize"/> 

    <ScrollView 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="center_horizontal" 
     android:clipToPadding="false" 
     android:paddingBottom="40dp" 
     android:paddingTop="60dp"> 

     <android.support.v7.widget.CardView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:elevation="4dp" 
      app:cardBackgroundColor="@android:color/white" 
      app:cardCornerRadius="0dp"> 

      <LinearLayout 
       android:layout_width="400dp" 
       android:layout_height="600dp" 
       android:orientation="vertical"> 

      </LinearLayout> 

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

    </ScrollView> 

</FrameLayout> 

buldum tek geçici çözüm

bir kullanmadan Bunu engellemek için herhangi bir seçenek var mı ... ebeveyn scrollview için bir dolgu eklemek veya çocuk CardView bir marj eklemektir dolgu/marj?

Teşekkürler.

Düzenleme:

Bu görülebileceği gibi, ebeveyn kaydırma görünümünde bir dolgu ayarlamadan, sol ve sağ gölgeler kesilmiş ediliyor gibi düzen böyle görünecektir: Child's side shadow being cut off by parent scroll view

Şimdi bir dolgu ebeveynin Scrollview yanlarına eklenirse, gölgeler burada görülebileceği gibi doğru çiziliyor: Child's side shadow now shown correctly after adding padding to right and left side of scrollview

Yani, burada benim ana soru şu bunu başarmak için tek yoldur ?, ya yoktur par üzerinde bir etiket veya yapılandırma Görünüm, çocuk görüşlerini doğru şekilde çizmeye izin veriyor mu?

+0

lütfen görüntünün ekran görüntüsünü nasıl göründüğünü ve nasıl görünmesini istediğinizi paylaşın. –

+0

Sadece onları ekliyorum – vicmns

cevap

30

bu sadece benzer bir sorun benim için çalıştı:

gölge göstermek için bir çocuk görünüm elde etmek için doğru yol ebeveyn üzerinde dolgu ve set android ayarlamaktır: O ebeveyn üzerinde clipToPadding = "false" .

burada bulduğumuz gibi: Android "elevation" not showing a shadow

+0

Evet, korkarım ki bu şimdilik tek yol. – vicmns

+0

Harika! Bu, liste gölgesini genişletir ve gerektiği gibi doldurmayı hesaba katmaz. – box

6
Aynı sorun bakıyordu

, ben kart görünümüne cardUseCompatPadding özellik ekleyerek bunu çözdü:

app:cardUseCompatPadding="true" 

gölge kesip olmayacak veya bu çözümü kullandıktan sonra kırpılmış.

-2

bana kart görünümüne cardUseCompatPadding özelliğini eklemek için Bu çalışma:

seti android: clipToPadding o ebeveyn üzerinde = "false".