2015-10-08 2 views
1

Согласно docs, дочерние представления в FrameLayout нарисованы друг над другом с самым последним добавленным видом сверху. Тем не менее, я заметил, что это кажется неточным в Lollipop или позже. Например, в следующем xml кнопка все еще отображается, хотя она должна быть покрыта моим пользовательским представлением.Неправильное поведение наложения в FrameLayout

Следует отметить, что хотя мой пользовательский вид расширяет FrameLayout, я раздуваю дочерний вид, поэтому мой FrameLayout не пуст.

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

    <Button 
     android:id="@+id/some_btn" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:layout_gravity="center" 
     android:text="button"/> 

    <mycustomframelayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#000000"/> 

</FrameLayout> 

Любая идея, что я здесь отсутствует?

+0

Возможный дубликат [Кнопка всегда отображается сверху в FrameLayout] (http://stackoverflow.com/questions/32307245/button-always-displays-on -top-in-framelayout) –

ответ

9

Кнопки в Lollipop и выше имеют возвышение по умолчанию, которое заставляет их всегда рисовать сверху. Вы можете изменить это, переопределив значение по умолчанию StateListAnimator.

Попробуйте положить это в вашей кнопки XML:

android:stateListAnimator="@null" 

FrameLayout теперь должна покрывать кнопку.

+1

вы должны отвечать [на этот вопрос] (http://stackoverflow.com/questions/32307245/button-always-displays-on-top-in-framelayout) –

+0

@RahulTiwari Хмм. .. это не проблема. – NoChinDeluxe

+0

это, прочитайте последнее заявление, о котором идет речь. –

2

Попробуйте положить возвышение к FrameCustom:

<mycustomframelayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#000000" 
     android:elevation="100dp"/> 
+1

Какова высота кнопок по умолчанию для Android? – j2emanue

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