• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dynamiczne wstawianie fragmentu

Object Storage Arubacloud
0 głosów
336 wizyt
pytanie zadane 21 lutego 2017 w Android, Swift, Symbian przez SebekMakaron Obywatel (1,290 p.)

Witam, chcę wstawić fragment dynamicznie na pół ekranu a dokładniej mam aktywność, której layout zajmuje cały ekran i chcę aby po np kliknięciu przycisku pół aktywności została przykryta fragmentem.

Wiem tylko jak to zrobić w przypadku wstawienia fragmentu od razu przy starcie w zdefiniowanym wcześniej layoucie.

2 odpowiedzi

+1 głos
odpowiedź 21 lutego 2017 przez KubenQPL Maniak (62,820 p.)
wybrane 22 lutego 2017 przez SebekMakaron
 
Najlepsza

W głównym Layoucie zrób FrameLayout zajmujący pół ekranu ( tak jak chcesz ) przypuśćmy że id to fragmentRootLayout 

FragmentManager fm = getFragmentManager(); 
    FragmentTransaction ft = fm.beginTransaction(); 
 
    CustomFragment cf = new CustomFragment();
    ft.replace(R.id.fragmentRootLayout, cf); 
    ft.commit(); 

 

komentarz 21 lutego 2017 przez SebekMakaron Obywatel (1,290 p.)
Tak masz racje to właśnie umiem. Chodzi mi np o to ze mamy cały żółty layout a na nim przycisk po kliknięciu tego przycisku na dolną połowę ekranu pojawia się fragment co skutkuje tym że połowa ekranu jest żółta a połowa np czerwona(kolor fragmentu).

Mogę się mylić ale na ten moment wydaje mi się że muszę na starcie zdefiniować połowę layoutu w której będzie fragment, czyli gdy nie będę używał fragmentu (gdy nie bedzie wyświetlony) tracę połowę ekranu. I w tym moje pytanie jak wygląda kod który wrzuca fragment na wierzch uprzednio go nie pokazując?

Podkreślam że mogę się mylić na ten moment taką mam wiedzę.
komentarz 21 lutego 2017 przez KubenQPL Maniak (62,820 p.)

Możesz ustawić domyślną wartość "visiblty" layoutu fragmentRootLayout na "GONE" to tak jakby nie było go widać i fizycznie go też tam nie ma (INVISIBLE sprawia że jest niewidzialny ale fizycznie jest) więc w pliku layoutu ustawiasz:

<FrameLayout
...
android:visiblity="gone"/>

A w OnClickListener ustawiasz visiblity na VISIBLE:

onClick(View view){
fragmentRootLayout.setVisiblity(View.Visible);
// tutaj umieszczenie fragmentu w fragmentRootLayout według wcześniej podanego kodu
}

 

komentarz 22 lutego 2017 przez KubenQPL Maniak (62,820 p.)
Oczywiście najpierw musisz zadeklarować i zdefiniować zmienna fragmentRootLayout
–1 głos
odpowiedź 21 lutego 2017 przez misiek.sz Bywalec (2,050 p.)
nie wiem do końca o czym piszesz bo nie wysłałeś kodu, ale w JS do zdarzenia "click" przypisujesz funkcję która zmieni właściwości CSS tak aby uzyskać rezultat jaki chcesz.
komentarz 21 lutego 2017 przez KubenQPL Maniak (62,820 p.)
Ale natywne SDK androida to nie webowy JS i CSS

Podobne pytania

0 głosów
0 odpowiedzi 134 wizyt
0 głosów
0 odpowiedzi 82 wizyt
0 głosów
0 odpowiedzi 82 wizyt

92,539 zapytań

141,382 odpowiedzi

319,476 komentarzy

61,928 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...