Android ViewGroup отсечение не работает - PullRequest
4 голосов
/ 29 декабря 2011

Почему android: clipChildren = "false" не работает?Я хочу добиться того же эффекта, что и при переполнении CSS: видимый, чтобы дочерние представления были видны, даже если они расположены за пределами родительского макета.Я пробовал что-то подобное, и хотя Graphical Layout в Eclipse показывает правильное поведение, на телефоне это не работает.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#0000FF"
android:clipChildren="false"
android:clipToPadding="false" >

<RelativeLayout
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_alignParentLeft="true"
    android:background="#FF0000"
    android:clipChildren="false"
    android:clipToPadding="false" >

    <RelativeLayout
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_marginLeft="120dp"
        android:background="#00FF00" />
</RelativeLayout>

</RelativeLayout>

1 Ответ

1 голос
/ 30 мая 2012

Я сейчас пробую что-то похожее, и это работает только тогда, когда я использую стенд android:clipChildren="false" на всех родителях, следующая проблема заключается в том, что если в перекрывающемся дочернем элементе есть что-то, что перерисовывается, как ListView, Android потом забыл перекрасить нашего дочернего элемента и этоисчезнуть: - (

Единственным способом является вызов .invalidate () вручную для перекрывающегося потомка после каждого перерисовывания представления под ним :-( Я также обнаружил, что по крайней мере небольшой покой перекрывающегося потомка должен быть в его родителе.

И еще одна проблема связана с получением событий касания / нажатия, которые находятся за пределами родительского элемента. Я не нашел никакого решения для этого.

...