Jump to content

Archived

This topic is now archived and is closed to further replies.

vince123

Créer un menu dans un textview à un moment t

Recommended Posts

Bonjour les androiens,

Je vous explique déjà ce que j'ai :

- une scrollview

- une textview (très, très longue)

J'ai 2 menus (2 relatives layout composée d'ImageButton) qui doivent apparaitre (grâce à un click) en haut et en bas de ma fenêtre :)

Seulement je n'arrive pas à placer ces 2 menus autre part qu'en haut et en bas de ma textview (donc besoin de faire défiler toute ma textiview pour avoir accés aux menus). :o :o

J'aimerai que ces 2 menus apparaissent en haut et en bas de l'écran quelque soit quelque soit l'endroit où je serais dans ma textview :P :lol:

Merci d'avance.

Bonne journée :cool:

Vince

Share this post


Link to post
Share on other sites

linearlayout vertical contenant

- menu 1

- ScrollView

- menu 2

Share this post


Link to post
Share on other sites

Je dirais exactement la même chose que Nivek :)

Et tu les caches lorsque tu n'en as pas besoin

Share this post


Link to post
Share on other sites
linearlayout vertical contenant

- menu 1

- ScrollView

- menu 2

Merci, je vais tester ça et voir si le Scrollview me le permet ^^

Je dirais exactement la même chose que Nivek :)

Et tu les caches lorsque tu n'en as pas besoin

Oui, c'est déjà gérer en "slidant" en plus ^^ :P

Merci à vous 2 et à lundi, je ne pourrai pas répondre avant :D

Share this post


Link to post
Share on other sites

Bonjour,

j'ai testé !! :( :( :(

On s'occupe que du menu 1 pour le moment (menu du haut)

Mon problème

test2b.jpg

or je veux ceci

testjx.jpg

Donc si je suis en haut de page, je veux avoir mon menu qui "écrase" mon champ titre !

Or sans apparition du menu j'ai : titre => blabla

et avec apparition du menu j'ai : menu => titre => blabla

et je veux avec apparition => menu (qui écrase titre) => blabla

Merci

Share this post


Link to post
Share on other sites

Dans ce cas utilise un framelayout, c'est parfait pour gérer de simples superpositions.

Share this post


Link to post
Share on other sites

Ton titre est dans la scrollView ? si c'est le cas il faudrait integrer ton menu dans la scroll view en lieu et place de ton titre. Ou bien enlever le titre de la liste.

Enfin c'est ce qui me viens à l'esprit de ce que j'ai compris de ton problème :|

Edit : Le sage a parlé et son intervention est plus pertinente que la mienne ;)

Share this post


Link to post
Share on other sites
Dans ce cas utilise un framelayout, c'est parfait pour gérer de simples superpositions.

héhé, c'est que j'avais fait à la base ^^, mais je vais re-tester alors !

Share this post


Link to post
Share on other sites
Ton titre est dans la scrollView ? si c'est le cas il faudrait integrer ton menu dans la scroll view en lieu et place de ton titre. Ou bien enlever le titre de la liste.

Enfin c'est ce qui me viens à l'esprit de ce que j'ai compris de ton problème :|

Edit : Le sage a parlé et son intervention est plus pertinente que la mienne ;)

Impossible à faire marcher correctement grrrr ! :o

edit : @Infernus => oui regarde mon titre est dans le scrollview (android:id="@+id/title_text") :P :P

Si vous voyez quelque chose, dites le moi !

Descriptif :

1er menu

scrollview

2ème menu

<?xml version="1.0" encoding="utf-8"?>

   xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:id="@+id/frame"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:background="@color/bg">





               xmlns:android="http://schemas.android.com/apk/res/android"
               android:id="@+id/relative" 
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:layout_marginTop="3dp"
               android:layout_above="@+id/scrollview">





               android:id="@+id/edittext"
               android:layout_width="@dimen/autocomplete_width"
               android:layout_height="wrap_content"
               android:layout_marginLeft="@dimen/margin_left"
               android:completionThreshold="2"/>

               android:id="@+id/research_button"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:src="@android:drawable/ic_search_category_default"
               android:layout_toRightOf="@+id/edittext"
               android:layout_marginRight="@dimen/margin_right"/>







           xmlns:android="http://schemas.android.com/apk/res/android"
           android:id="@+id/scrollview"
           android:layout_width="fill_parent" 
           android:layout_height="wrap_content" 
           android:orientation="vertical"
           android:background="@color/bg">    



       xmlns:android="http://schemas.android.com/apk/res/android"
       android:id="@+id/principal_relative" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent"
       android:onClick="menu"
       android:background="@color/bg">

               android:id="@+id/title_text"
               android:text="@string/title_text"
               android:textSize="@dimen/title"
               android:layout_height="wrap_content" 
               android:layout_width="fill_parent"
               android:layout_marginLeft="@dimen/margin_left"              
               android:layout_marginRight="@dimen/margin_right"/>

               android:layout_width="wrap_content" 
               android:layout_height="2dp" 
               android:background="@color/trait" 
               android:layout_marginLeft="12dp" 
               android:layout_marginRight="12dp" 
               android:layout_marginBottom="8dp"
               android:layout_below="@+id/title_text" 
               android:paddingTop="10dp">


               android:id="@+id/data"
               android:text="@string/data"
               android:layout_height="wrap_content" 
               android:layout_width="fill_parent"
               android:layout_marginLeft="@dimen/margin_left"
               android:layout_marginRight="@dimen/margin_right"
               android:layout_below="@+id/View01"/>


















               android:id="@+id/relative_menu" 
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:layout_alignBottom="@+id/data">
               android:layoutAnimation="@anim/layout_bottom_to_top_slide"


               android:id="@+id/home_button"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:src="@drawable/ic_menu_home"
               android:layout_marginLeft="@dimen/margin_left2"/>

               android:id="@+id/prev_button"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:src="@drawable/ic_menu_back"
               android:layout_toRightOf="@+id/home_button"
               android:layout_centerHorizontal="true"
               android:layout_marginLeft="@dimen/margin_left2"/>

               android:id="@+id/forw_button"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:src="@drawable/ic_menu_forward"
               android:layout_toRightOf="@+id/prev_button"
               android:layout_centerHorizontal="true"
               android:layout_marginLeft="@dimen/margin_left2"/>

               android:id="@+id/sum_button"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:src="@android:drawable/ic_menu_agenda"
               android:layout_toRightOf="@+id/forw_button"
               android:layout_marginLeft="@dimen/margin_left2"/>











Share this post


Link to post
Share on other sites

L'ordre de déclaration dans le FrameLayout devrait être plutôt

- ScrollView

- Menu1

- Menu2

L'ordre des 2 derniers n'a d'ailleurs pas d'importance, ce qui compte c'est que ton menu1 et ton menu2 soient déclarés après la ScrollView pour pouvoir être empilés par dessus.

En l'état, ton framelayout affiche :

- menu1

- Scrollview (qui écrase donc ton menu1)

- menu2

Share this post


Link to post
Share on other sites
L'ordre de déclaration dans le FrameLayout devrait être plutôt

- ScrollView

- Menu1

- Menu2

L'ordre des 2 derniers n'a d'ailleurs pas d'importance, ce qui compte c'est que ton menu1 et ton menu2 soient déclarés après la ScrollView pour pouvoir être empilés par dessus.

En l'état, ton framelayout affiche :

- menu1

- Scrollview (qui écrase donc ton menu1)

- menu2

Je suis d'accord et en effet le Scrollview écrase mon menu1,

j'avais fait ça au début (le Scrollview en 1er), seulement ensuite, je peux pas mettre mes 2 menus, puisque le Scrollview n'autorise qu'un seul enfant (en direct)

edit : je re test demain, bonne soirée

Share this post


Link to post
Share on other sites

Les balises XML de tes menus ne doivent pas être à l'intérieur de la ScrollView, mais au même niveau, c'est à dire des enfants du FrameLayout.

Share this post


Link to post
Share on other sites

Mon cher Nivek,

Si j'ai bien compris, l'arborescence est donc :

FrameLayout (parent)

ScrollView, Menu1, Menu2 (enfant)

Fin FrameLayout (fin parent)

je vais tester cela !

Share this post


Link to post
Share on other sites

C'est ça. Juste pour être clair :






;)

Share this post


Link to post
Share on other sites
C'est ça. Juste pour être clair :






;)

Je viens de tester, alors ca règle mon problème initial à savoir : j'ai bien mes 2 menus non pas en fonction de mon TextView, mais en fonction de ma fenêtre, donc très bien !!

Seulement maintenant, je me retrouve avec une "jolie" superposition du menu2 sur menu1 (voir ci-dessous).

Je pense à un problème de placement du RelativeLayout, donc je regarde ça héhé !! :/ :/

Après ce sera juste parfait :P :P :P

testup.jpg

Share this post


Link to post
Share on other sites

Il faut juste ajouter un android:gravity="bottom" sur ton menu2.

Share this post


Link to post
Share on other sites
android:gravity="bottom"

euh, je suis pas sur (je veux dire que j'ai déjà essayé) ! j'ai essayé alignParentBottom et alignBottom, mais je vais y arriver ^^ ;)

                android:id="@+id/relative_menu" 
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:gravity="bottom">

edit : cela marche avec android:layout_gravity="bottom" ! alors quelle est la différence avec android:gravity="bottom" !?

Share this post


Link to post
Share on other sites

Ah, excuse moi, en vérifiant dans mon code ca serait plutôt : android:layout_gravity="bottom"

cf. http://code.google.com/p/emailalbum/source/browse/EmailAlbumAndroid/trunk/res/layout/dialog_edit_caption.xml

EDIT: oups, je viens de voir ton edit ;-)

Je pense que le android:gravity donne une indication sur le gravity par défaut à l'intérieur de la vue qui porte l'attribut. Le layout_gravity indique le positionnement de la vue par rapport à son conteneur.

ex. de Cyril Mottier : http://android.cyrilmottier.com/?cat=7 le android:gravity s'applique au texte à l'intérieur des textviews. Les TextViews elles-mêmes sont positionnées avec la gravity par défaut du FrameLayout, en haut à gauche.

Share this post


Link to post
Share on other sites
Ah, excuse moi, en vérifiant dans mon code ca serait plutôt : android:layout_gravity="bottom"

cf. http://code.google.com/p/emailalbum/source/browse/EmailAlbumAndroid/trunk/res/layout/dialog_edit_caption.xml

Ah ça non, j'accepte pas des excuses comme ça, non mais oh, on se croit où LA !!! :o :o :o :o

Bref, un grand merci à tout ceux qui m'ont aidé :P :P

Et une grande pensée à l'Android des montagnes (alias Nivek) pour m'avoir permis d'avancer sereinement :|

Merci :D

edit : Merci Nivek je viens de voir tes edits

Share this post


Link to post
Share on other sites





×
×
  • Create New...