In der realen Welt, das Beispiel Control Panel Layout (unten) erscheint in einem eigenen FrameLayout (Fragment Container) und (abhängig davon, ob die App auf einem Tablet läuft) neben einer Karte, deren Farben von einem Colorpicker gefeuert von eingestellt werden die "Farbe" -Schaltflächen. (Hinweis: Die Karte und das Bedienfeld haben unterschiedliche Hintergründe.)Eltern ignorieren Hintergrund anzeigen?
Bei der Rückkehr vom Colorpicker werden der zugehörige Kartenpartikel und der Buttonhintergrund mit der neuen Farbe aktualisiert.
Die Idee ist, dass (wie vom Benutzer beobachtet) die Farbe der Schaltfläche genau mit der Karte übereinstimmt.
Und natürlich nicht! (Es sei denn, die ausgewählte Farbe hat 255-Alpha).
Ich weiß, dass dies "erwartetes Verhalten" ist, aber gibt es einen cleveren (oder 'hacky') Trick, der den Elternhintergrund auslöschen wird (nur hinter dem Button child), damit die Hintergrundfarbe des Kindes korrekt wiedergegeben wird?
Beispiel Bedienfeld Layout und Code
<LinearLayout android:id="@+id/settingsLL"
android:orientation="vertical">
<LinearLayout android:id="@+id/oneOfMany"
android:orientation="horizontal">
<TextView style="@style/wptedit_title" android:text="[some title]" />
<Button style="@style/wptedit_color" android:id="@+id/colorBtn" />
</LinearLayout>
</LinearLayout>
// Control panel background
settingsLL.setBackgroundColor(0xFFD5FFDD);
// Faint red tint gives desired map background not reflected by button
colorBtn.setBackgroundColor(0x04FF0000);