2015-11-20 3 views
10

Как видно из названия государств, я пытаюсь поставить CardView внутри ScrollView, но высота CardView тень бытия, но вне от его родителей ...Android ScrollView отсечения ребенок высота тени

Это Layout XML :

<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> 

Единственное решение, которое я нашел, чтобы добавить отступы к родительскому ScrollView или добавить запас для ребенка CardView ...

есть ли возможность предотвратить это происходит без использования обивка/прибыль?

Спасибо.

Edit:

Это как макет выглядит без установки отступов на представлении родительского прокрутки, как это можно видеть, левые и правые тени отрезаны: Child's side shadow being cut off by parent scroll view

сейчас , если обивка добавляется к родительскому Scrollview стороны, тени втягиваются правильно, как это можно увидеть здесь: Child's side shadow now shown correctly after adding padding to right and left side of scrollview

Итак, мой главный вопрос здесь это единственный способ добиться того, что ?, или есть тег или конфигурацию на уровне что позволяет правильно рисовать его детские представления?

+0

Пожалуйста, поделитесь снимком экрана с макетом, каким он выглядит и как вы хотите, чтобы он выглядел. –

+0

Я просто добавлю их – vicmns

ответ

30

это просто работало для меня в подобных проблемах:

правильный путь, чтобы получить вид ребенка, чтобы показать тень, чтобы установить отступы на родителе и установить андроид: clipToPadding = «ложь» на тот родитель ,

, как здесь: Android "elevation" not showing a shadow

+0

Да, боюсь, теперь это единственный способ. – vicmns

+0

Отлично! Это расширяет тень списка и не учитывает прописку, как это необходимо. – box

6

Я столкнулся с той же проблемой, я решил, добавив cardUseCompatPadding атрибут к просмотру карты:

app:cardUseCompatPadding="true" 

Тень не будет вырезан или обрезаны после использования этого решения.

-2

Этой работа для меня, добавив атрибут cardUseCompatPadding к просмотру карты:

набора андроид: clipToPadding = «ложь» на этом родителе.

Смежные вопросы