IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Android, rozvržení

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Dominik Roček:28.4.2013 16:18

Zdravim,
programuju appku pro android a potreboval bych poradit ohledne rozvrzeni a tlacitek.

Mam aktivitu, kde chci mit nahore obrazek, pod nim nejake EditTexty a uplne dole na displayi dve tlacitka vedle sebe (v horizontalni orientaci). Obrazek a ty spodni tlacitka potrebuji, aby byli staticke, proste zustali porad na miste, a ty EditTexty mezi nimi potrebuji mit rolovaci, je jich tam hodne. Pouzivam pro to Linearni rozvrzeni, pro rolovani obalim to rozvrzeni ScrollViewew, ale ty tlacitka zmizi kdyz nejsou ve stejnem rozvrzeni.. kdyz je dam do stejneho rozvrzeni co obaluje ScrollView, tak tam ty tlacitka jsou, ale az na konci seznamu tech EditTextu, coz nepotrebuji..

Doufam, ze to lze tak trochu pochopit, pro jistotu prikladam obrazek.. diky za rady! :)

Odpovědět
28.4.2013 16:18
Všechno je Jedno.
Avatar
teeg
Člen
Avatar
teeg:28.4.2013 16:57

ahoj, myslim ze tohle by melo fungovat. ( pisu to z hlavy :-) )

<LinearLayout
 ....
  android:orientation: vertical
>

<tady obrazek, ten jsem zatim nepouzival, s tim si nejak poradis ;-) />

<ScrollView
  ...
  android:layout_weight="1"
  android:layout_height="0dp"
  >
  <EditText ......./>
  <EditText ......./>
  <EditText ......./>
</ScrollView>

< a tady bude dalsi linear layout na tlacitka>

</LinearLayout>

snad to bude stacit :-)

ten layout_weight zpusobi, ze se to scrollview roztahne na to misto, co zbyva prazdne, takze ty tlacitka dole zustanou

Editováno 28.4.2013 16:59
 
Nahoru Odpovědět
28.4.2013 16:57
Avatar
Odpovídá na teeg
Dominik Roček:28.4.2013 17:16

tohle jsem taky zkousel, ale nedaval jsem tam to android:layou­t_weight="1", ale porad to ma jeden hacek - kdyz do toho ScrollView dam android:layou­t_weight="1" a pak tedy i do toho spodniho LinearLayoutu taky, tak to bude rozdeleny 1:1, tim padem na polovinu a ty tlacitka nevyuzijou celej ten prostor.. vim, ze neni problem to vychytat tak, aby to bylo rozdeleny presne, napriklad 1:10, ale nevim, jak to bude vypadat treba na telefonech s mensim (nebo vetsim rozlisenim), mam Galaxy S3 (tim padem HD) a nemam momentalne moznost to vyzkouset na jinych strojich :/

kazdopadne dik za radu! poposunulo me to o kus dal ;)

Nahoru Odpovědět
28.4.2013 17:16
Všechno je Jedno.
Avatar
teeg
Neregistrovaný
Avatar
Odpovídá na Dominik Roček
teeg:28.4.2013 18:20

Právě, že do toho spodního LinearLayoutu s tlačítky to layout_weight už nedávej. Stačí to jen u toho ScrollView

 
Nahoru Odpovědět
28.4.2013 18:20
Avatar
teeg
Člen
Avatar
teeg:28.4.2013 18:38

Tak jsem se dostal k počítači a vyzkoušel tohle a vypadá to přesně jako na tvém obrázku ;-).(Aby bylo vidět i to scrollování, tak to tam chce mít víc EditTextů než jen 3 :-))

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />

    <ScrollView
        android:layout_width="match_parent"
        android:layout_weight="1"
        android:layout_height="0dp"
        >

          <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                >

                        <EditText
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:hint="EditText" />
                        <EditText
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:hint="EditText" />
                        <EditText
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:hint="EditText" />


        </LinearLayout>

    </ScrollView>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
     >
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button"/>

    </LinearLayout>

</LinearLayout>

EDIT: Pokud by jsi chtěl i ty spodní tlačítka, aby zabraly přesně polovinu displeje, tak jim oběma nastav android:layou­t_weight="1"

Editováno 28.4.2013 18:41
 
Nahoru Odpovědět
28.4.2013 18:38
Avatar
Dominik Roček:28.4.2013 18:52

oh, to je presne to co potrebuju, diky ti :D

jinak jeste otazecka - jakej je prosim rozdil mezi fill_parent a match_parent?

Nahoru Odpovědět
28.4.2013 18:52
Všechno je Jedno.
Avatar
teeg
Člen
Avatar
Odpovídá na Dominik Roček
teeg:28.4.2013 19:03

Žádný, fill_parent se používalo dřív. Ale má to úplně stejný význam.

 
Nahoru Odpovědět
28.4.2013 19:03
Avatar
Dominik Roček:28.4.2013 19:04

ok, diky :) kdyby neco, vim, na koho se obratit :D

Nahoru Odpovědět
28.4.2013 19:04
Všechno je Jedno.
Avatar
teeg
Člen
Avatar
Odpovídá na Dominik Roček
teeg:28.4.2013 19:08

Nemáš zač. Klidně se zase ozvi, s androidem sice začínám, ale taky se alespoň něčemu přiučím ;-)

 
Nahoru Odpovědět
28.4.2013 19:08
Avatar
Odpovídá na teeg
Dominik Roček:28.4.2013 19:58

to jsme na tom jaksi stejne :) .. jeste by me zajimalo - kdyz ten obrazek co mam nahore pouziju jako ImageButton a chtel bych po kliknuti na nej aby se mi zvetsil prec cely display (aby tam nic ostatniho nebylo), tak musim vytvorit novou aktivitu kam dam ten obrazek v plny velikosti nebo to lze udelat nejak jednoduseji? nevadilo by ani kdyby to byl obrazek v pop-up okne (jestli do nej mohu obrazky vubec vkladat)..

Nahoru Odpovědět
28.4.2013 19:58
Všechno je Jedno.
Avatar
teeg
Člen
Avatar
Odpovídá na Dominik Roček
teeg:28.4.2013 20:05

Tak takhle daleko jsem se ješrě nedostal :-) . Osobně bych to řešil přes novou aktivitu, ale to asi bude zbytečné. Tady ti bude muset poradit někdo fundovanější.

 
Nahoru Odpovědět
28.4.2013 20:05
Avatar
Odpovídá na teeg
Dominik Roček:28.4.2013 20:08

jasny, v pohode, hledam vsude mozne na netu nejaky tutorialy, ale ceskejch moc neni, for o proframovani pro android (ceskych) taky moc ne, tak musim hold zkouset a zkouset :`

Nahoru Odpovědět
28.4.2013 20:08
Všechno je Jedno.
Avatar
teeg
Člen
Avatar
Odpovídá na Dominik Roček
teeg:28.4.2013 20:19

Na oficialnich strankach maji dobre tutorialy - www.developer.android.com/…g/index.html

 
Nahoru Odpovědět
28.4.2013 20:19
Avatar
Odpovídá na teeg
Dominik Roček:28.4.2013 20:50

tam obcas taky nahlizim :)

Nahoru Odpovědět
28.4.2013 20:50
Všechno je Jedno.
Avatar
Crusty
Člen
Avatar
Crusty:29.4.2013 9:00

frame layout umi zobrazit view nad sebou. Muzes mit ted vrchni view pro velky nahled, ktere bude normalne neviditelne a po kliknuti na bttn mu nastavis obrazek a zviditelnis

Nahoru Odpovědět
29.4.2013 9:00
www.2ox.cz
Avatar
Dominik Roček:29.4.2013 21:23

dobre, az se k tomu dostanu, tak to vyzkousim - zni to jako dobrej napad ;) diky

Nahoru Odpovědět
29.4.2013 21:23
Všechno je Jedno.
Avatar
Dominik Roček:6.5.2013 14:01

tak jsem tu zpet :) .. s tou radou s tim frame layout jsem to vyresil tak, ze jsem vytvoril jednu aktivitu, v ni jeden imageview, kterymu urcuji obrazek podle toho, z ktereho buttonu jsem se na aktivitu dostal ;) .. ale mam dalsi, mozna velmi jednoduchy problem.. kdyz prejdu v aplikaci na aktivitu, ve ktere se vyskytuje nejaky EditText (nebo i vice), tak se mi automaticky vlozi kurzor do toho prvniho a objevi se klavesnice.. chtel bych ale aby se nic neobjevilo dokud do nejakeho edittextu uzivatel neklikne.. je na to nejaky atribut v XML? nebo se to musi resit programove?

dekuji ;)

Nahoru Odpovědět
6.5.2013 14:01
Všechno je Jedno.
Avatar
teeg
Člen
Avatar
teeg:6.5.2013 15:27

ahoj, u mně stačilo přidat tento řádek android:window­SoftInputMode="sta­teAlwaysHidden" jako atribut tagy <activity> v AndroidManifest.xml

 
Nahoru Odpovědět
6.5.2013 15:27
Avatar
Crusty
Člen
Avatar
Crusty:6.5.2013 15:37

v xml nemas nahodou u toho editu neco jako request focus? to dej pryc a mohlo by to pomoci

Nahoru Odpovědět
6.5.2013 15:37
www.2ox.cz
Avatar
Dominik Roček:15.5.2013 1:10

omlouvam se, dostal jsem se k tomu az ted.. takze ten request focus jsem nikde nepouzil a ani nic podobneho, spis si myslim, ze je ten vyber proste automaticky, muzes ho akorat zakazat.. pomohlo ale to co psal "teeg", sice se oznaci ten EditText, ale alespon tam neni videt klavesnice, takze dekuju oboum za radu ;) .. mam ale jeste jednu otazku: kdyz mam na obrazovce nejake widgety, treba button, tak kdyz na nej kliknu prstem tak se provede akce, to je logicky..kdyz na nej kliknu a podrzim prst,tak se provede jina akce, to je taky v pohode, ale kdyz na nej kliknu a prejedu na jinej widget (prst mam porad na displayi, proste to drzim), tak kdyz ten prst pustim, tak se aktivuje ten widget, na kterym sem pustil prst (tj. jak kdybych na nej kliknul) .. u jinych aplikaci to funguje tak, ze kdyz uzivatel na neco klikne a rozmysli si to a nechce to otevrit, tak proste prst soupne jinam a nestane se nic .. doufam, ze je to pochopitelny, da se toto nejak vypnout? :)

Nahoru Odpovědět
15.5.2013 1:10
Všechno je Jedno.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 20 zpráv z 20.