2010-11-11 7 views
12

Das macht für mich keinen Sinn, kommt von CSS. Wenn Sie in CSS einen Rand und dann den linken Rand angeben, wird der linke Rand den feineren Wert annehmen.Warum überschreibt margin margeLeft in Android (gleich mit Radius usw.)?

In Android ist es das Gegenteil. Das gleiche gilt für Android: Radius, und ich bin sicher, andere Werte.

Meine Frage ist: warum? .. Es macht keinen Sinn. Gibt es einen einzigen Grund dafür?

Edit: Aufforderung, indem Sie versuchen, eine Lösung zu finden, um noch eine weitere Google ADT/Android Bug http://code.google.com/p/android/issues/detail?id=7588

+3

Ich bin mir nicht sicher, dass Sie eine Antwort bekommen werden, es sei denn, der Google-Entwickler, der diese Beiträge hier implementiert hat. Was erwarten Sie? – Falmarri

+0

smile @Falmarri = D – Tivie

+0

Nun, Google bietet offiziell Unterstützung für Android bei SO, also warum nicht? : P –

Antwort

5

Ich habe die gleiche Frustration hatte, aber wenn man darüber nachdenkt, sollte welcher Wert verwendet werden? Ich weiß in Ihrem Beitrag, dass Sie sagen, dass CSS den "granulareren Wert" verwendet, aber am Ende läuft alles auf Pixel hinaus und das Ergebnis sind einfach zwei Pixelwerte, zwischen denen gewählt werden muss. Der CSS-Standard entschied sich dafür, es auf eine Art zu tun, Android wählte das andere, ich denke nicht, dass beide Ansätze falsch sind, sie sind einfach anders.

+14

Ich stimme nicht zu - mit CSS können Sie den Master-Wert festlegen und überschreiben es nur für 1 Element. In Android, der Master-Wert löscht alle von ihnen, so ist es nicht annähernd so mächtig, so dass Sie alle 4 Werte festlegen, wenn Sie nur 1 überschreiben möchten. –

+1

ja, ich stimme zu ... es ist nicht, dass man in "gewählt" ist CSS, es ist der zuletzt erklärte. So deklarieren Sie padding: 10px, padding-left: 20px; und das Padding-left überschreibt das Padding, weil es das zweite ist. – Jeff

+8

Also ist die Lektion hier für mich, immer layout_marginLeft/Right/Top/Bottom zu verwenden, wenn Sie einen Stil definieren. Dies gibt Clients die Möglichkeit, bei Bedarf zu überschreiben –