Wie 'android:Vorder -' und 'android:foregroundGravity' im FrameLayout, die das Erscheinungsbild beeinflussen?
FrameLayout hat die Attribute android:foreground
, android:foregroundGravity
und android:measureAllChildren
.
Ich habe versucht, diese Attribute, aber nicht ausmachen konnte, wie Sie sich auf das layout, das Aussehen oder wie Sie funktionieren.
<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"
android:foreground="@android:color/holo_blue_dark"
android:foregroundGravity="center"
android:measureAllChildren="true"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.framelayoutdemo.MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/btn_dialog" />
</FrameLayout>
Ich habe gegoogelt, aber nichts finden konnte, mit Hilfe dieser Attribute.
Bitte geben Sie mir einen link, den ich verweisen kann, oder helfen Sie mir mit einem Beispiel.
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
android:foreground
Punkte in den Vordergrund, dass IhreFramelayout
braucht, um zu zeichnen, auf der alle seine Kinderandroid:foregroundGravity
Punkte, um die Schwerkraft für diesen Vermögenswert, wenn dieser Vermögenswert ist ein drawable. Das bedeutet, dass wenn Sie mitDann Ihre drawable gezeichnet wird auf alle seine Kinder, und es ist positioniert in der Mitte der
Framelayout
android:measureAllChildren :
Bestimmt, ob die Maßnahme für alle Kinder oder nur die in derVISIBLE
oderINVISIBLE
Zustand bei der Messung. Der Standardwert ist false. Das bedeutet, dass, wenn es auf false gesetzt ist, dann werden alle Elemente in derGONE
Staat nicht berücksichtigt werden, wenn dieFramelayout
's measure-phase ist, geht um.Hoffe, dass beantwortet deine Frage.
android:foreground
undandroid:foregroundGravity
ist perfekt, aber ich didnt get wie zu verwendenandroid:measureAllChildren :
oder warum. Es wird eine große Hilfe, wenn Sie sich leisten können und Beispiel für seine Arbeit. Vielen Dank.android:measureAllChildren
hat definitiv keine Auswirkung auf das layout.android:measureAllChildren
ist nur fürViewAnimator
undViewSwitcher
Wenn measureallchildren ist auf "true" gesetzt, dann zeigt es die tatsächliche Breite und Höhe des frame-layout, auch wenn der Blick auf die Sichtbarkeit in den Weg Stand.
Zum Beispiel
Unten ist der code von MainActivity.java . wenn wir Toast die Anzeige Höhe und Breite auf dem Bildschirm.
wenn wir ausführen der App im Emulator die Ausgabe in form von Toast-Nachricht wird wie folgt Aussehen:
width=72 height=72
Wenn wir das nun ändern Sie den Wert von measureAllChildren auf false, dann Toast-Nachricht output-frame-layout width und height:
width=0 height=0