2010-11-11 11 views
12

Nie ma to dla mnie żadnego sensu, pochodzącego z CSS. W CSS, jeśli określisz margines, a następnie margines w lewo, lewy margines przyjmie bardziej ziarnistą wartość.Dlaczego margin override marginLeft w Androidzie (to samo z promieniem, itp.)?

W systemie Android jest odwrotnie. To samo dotyczy Androida: promień i jestem pewien, że inne wartości.

Moje pytanie brzmi: dlaczego? .. To nie ma sensu. Czy istnieje jeden powód, aby robić to w ten sposób?

Edit: poproszony przez próbuje znaleźć rozwiązanie, aby kolejny Google ADT/Android bug http://code.google.com/p/android/issues/detail?id=7588

+3

Nie jestem pewien, czy dostaniesz odpowiedź na to pytanie, chyba że programista Google, który zaimplementował to posty tutaj. Czego oczekujesz? – Falmarri

+0

uśmiech @Falmarri = D – Tivie

+0

Cóż, Google oficjalnie zapewnia obsługę Androida w SO, więc dlaczego nie? : P –

Odpowiedz

5

miałem ten sam zawód, ale jeśli myślisz o tym, którego wartość powinna być stosowana? W twoim poście mówisz, że CSS używa "bardziej ziarnistej wartości", ale wszystko sprowadza się do pikseli na końcu, a wynik jest po prostu wartością dwóch pikseli, które muszą być wybrane pomiędzy. Standard CSS zdecydował się zrobić to w jeden sposób, Android wybrał drugi, nie sądzę, że oba podejścia są złe, są po prostu inne.

+14

Nie zgadzam się - z CSS można ustawić wartość główną i zastąpić ją tylko dla 1 elementu. W systemie Android wartość wzorcowa usuwa wszystkie z nich, więc nie jest prawie tak potężna, co powoduje, że ustawiasz wszystkie 4 wartości, jeśli chcesz tylko przesłonić 1. –

+1

tak, zgadzam się ... to nie jest to, że "wybrano" w CSS, to jest to, co zostało zadeklarowane jako ostatnie. Więc deklarujesz dopełnienie: 10px, dopełnienie-lewo: 20px; a padding-left zastąpi padding, ponieważ jest drugi. – Jeff

+8

Tak więc lekcją dla mnie jest zawsze użycie layout_marginLeft/Right/Top/Bottom podczas definiowania stylu. Daje to klientom możliwość zastąpienia w razie potrzeby –