Próbuję wyśrodkować przycisk we względnym układzie, czy to możliwe? Próbowałem funkcji Gravity i Orientation, ale one nic nie robią.Czy możesz wyśrodkować przycisk w RelativeLayout?
Odpowiedz
Spróbuj
android:layout_centerHorizontal="true"
dokładnie jak to działa dla mnie:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff0000">
<Button
android:id="@+id/btn_mybutton"
android:layout_height="wrap_content"
android:layout_width="124dip"
android:layout_marginTop="5dip"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
Można użyć CENTER_IN_PARENT dla układu względnej.
Dodaj android:layout_centerInParent="true"
do elementu, który chcesz wyśrodkować w RelativeLayout
Gdzie mam to umieścić? – Arcadia
@josnidhin: to jest właściwa odpowiedź. – Ashwin
Prawidłowo;) Dzięki :) – androniennn
Arcadia, po prostu spróbuj poniższy kod. Istnieje kilka sposobów na uzyskanie oczekiwanego wyniku, jest to jeden z łatwiejszych sposobów.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relative_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center">
<Button
android:id="@+id/the_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Centered Button"/>
</RelativeLayout>
Ustawienie ciężaru samego RelativeLayout wpłynie na wszystkie umieszczone w nim obiekty. W tym przypadku jest to po prostu przycisk. Oczywiście możesz użyć dowolnego ustawienia grawitacji (na przykład center_horizontal, top, right i tak dalej).
Można również użyć tego kodu poniżej:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relative_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/the_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Centered Button"
android:layout_centerInParent="true"/>
</RelativeLayout>
Dzięki. Jednakże, gdybym miał wiele przycisków i chciał tylko jeden wyśrodkowany, jak bym to zrobił? Pierwszy kod wyśrodkowywałby wszystko w obrębie rodzica relacyjnego. W jaki sposób mogę wyśrodkować przycisk u góry tego rzędu? – Arcadia
Po prostu użyj drugiego przykładu i dodaj środkową kropkę do przycisku, który chcesz wyśrodkować. Możesz także użyć centerHorizontal, a layout_alignParentTop, aby wyrównać go do góry i wyśrodkować w poziomie. Co dokładnie próbujesz osiągnąć, mogę podać lepszy przykład. – kcoppock
Ledwo rozpoczynam moje studia nad rozwojem Androida i próbuję w pełni zrozumieć, jak manipulować rzeczami, aby robić to, co chcę. Zasadniczo chcę trzymać się z dala od dopasowywania elementów do pikseli, ponieważ obraz może wyglądać zupełnie inaczej na innym typie/rozdzielczości ekranu. Jednakże, gdy używasz polecenia grawitacji, wszystko podąża za nim. Próbowałem wyłączyć grawitację dla przycisku za pomocą ignorowania Grawitacji i nie działało. Te rzeczy są bardzo trudne. – Arcadia
Jego proste, nie Dopasuj go do niczego
<Button
android:id="@+id/the_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Centered Button"/>
usuwając wszelkie wyrównanie jak android: layout_alignParentStart = "true "i dodanie centerInParent działało dla mnie. Jeśli "align" pozostaje w The centerInParent nie działa
Aby wyśrodkować wyrównać w jednej z wykorzystaniem kierunek Androidzie: layout_centerHorizontal = "true" lub android: layout_centerVertical = "true" w układzie dziecięcej
Użyj atrybutu android:centerInParent="true"
wewnątrz widoku, , gdy chcesz wyśrodkować widok w układzie Względny.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NWE"
android:textSize="30dp"/>
</RelativeLayout>
Zalecane jest używanie 'match_parent' zamiast' fill_parent'. 'fill_parent' jest przestarzałe, począwszy od API 8 – RediOne1
trzeba mieć wyrównane go w lewo lub prawo widzenia dominującej
podczas korzystania android:centerInParent="true"
kody nie używać dowolnego z nich: -
android:layout_alignParentLeft="true"
android:layout_alignParentLeft="true"
android:layout_alignRight=""
itp.
Podsumowując
dodania:
android:layout_centerInParent="true"
prostu działa na RelativeLayout, jeśli jeden z następujących atrybutów jest także zestaw do widoku:
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
który alignes widok dziecka do widoku rodzica. "Centrum" jest oparty na osi alignement zostały wybrane:
lewo/prawo -> pionowe
góra/dół -> poziome
Ustawianie wagi Childs/treść wewnątrz widoku:
android:gravity="center"
wyśrodkowuje dziecko w widoku rodzica w każdym przypadku, jeśli nie ma zestawu wyrównania. Opcjonalnie można wybrać:
<!-- Axis to Center -->
android:gravity="center_horizontal"
android:gravity="center_vertical"
<!-- Alignment to set-->
android:gravity="top"
android:gravity="bottom"
android:gravity="left"
android:gravity="right"
android:gravity="fill"
...
Wtedy nie ma:
android:layout_gravity="center"
który jest centrowanie widoku się wewnątrz niej znajduje się rodzic
I wreszcie można dodać następujący atrybut aby rodzice:
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
To naprawdę łatwe. Wypróbuj poniższy kod,
<RelativeLayout
android:id="@+id/second_RL"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/first_RL"
android:background="@android:color/holo_blue_bright"
android:gravity="center">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</RelativeLayout>
Odpowiedzi tylko na kod nie są tutaj mile widziane. Spróbuj zamieścić więcej informacji, dlaczego powyższa odpowiedź zadziała. :) – Vivz
Dzięki za wytyczną. Jestem tu nowy. –
- 1. Jak wyśrodkować LinearLayout w RelativeLayout?
- 2. Jak wyśrodkować widok za pomocą RelativeLayout?
- 3. Jak wyśrodkować obrazek w pionie w tym RelativeLayout
- 4. Bootsrap 4, Jak wyśrodkować przycisk?
- 5. jak wyśrodkować przycisk w hbox flex?
- 6. Czy możesz mieć przycisk iOS 6 3D w MKMapView?
- 7. Czy możesz mieć obraz jako błyszczący przycisk radia?
- 8. Jak wyśrodkować nieznany przycisk szerokości w obszarze początkowym bootstrap?
- 9. Jak wyśrodkować przycisk w komórce kątowej-ui-grid?
- 10. Centrum grawitacyjne RelativeLayout nie działa
- 11. Odpowiednik RelativeLayout w Flutter
- 12. Child of RelativeLayout nie wypełnia wysokości RelativeLayout
- 13. Jak zrobić kliknięcie Relativelayout?
- 14. RelativeLayout waga
- 15. Czy mogę użyć layout_weight do ustawienia RelativeLayout?
- 16. Zapobieganie nakładaniu się nakładek w RelativeLayout
- 17. Korzystanie z layout_above w RelativeLayout
- 18. Czy możesz programowo zaakceptować korektę pisowni w UITextView?
- 19. Wyrównanie przycisku Android do dołu w RelativeLayout?
- 20. Centrum poziomowania TextView w RelativeLayout
- 21. Poprawne wyrównanie TextViews w RelativeLayout
- 22. Xamarin.Forms: Zmień ograniczenia RelativeLayout później
- 23. LinearLayout vs RelativeLayout
- 24. Dzielenie RelativeLayout na dwie połowy
- 25. Jak wyśrodkować niestandardowy widok na Androida?
- 26. czy możesz telnetować do ssh?
- 27. Czy możesz "zignorować" katalog w P4V?
- 28. Czy możesz użyć wyrażenia regularnego w .babelrc?
- 29. Czy możesz przechwytywać tablice w lambda?
- 30. Czy możesz dziedziczyć funkcje prywatne w JavaScript?
Język? Struktura? OS? –
Jakiego języka/ramy/itp używasz? – Nippysaurus
@Arnold Spence: pokonałeś mnie 24 sekundy :) – Nippysaurus