Autore Topic: rendere sempre visibile layout  (Letto 723 volte)

Offline thejames90

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc one
  • Sistema operativo:
    windows 7/8
rendere sempre visibile layout
« il: 29 Novembre 2013, 10:50:44 CET »
0
Buongiorno,
sto facendo un programma android dove in un file xml avrò una scroll view che includo da un'altro file xml con dentro dei layout che superano la schermata del telefono. io devo aggiungere un frame layout (con all'interno un bottone) sotto a questa scroll view ma il problema è che la scroll view mi nasconde il frame layout. sapreste indicarmi un modo x rendere sempre visibile il frame layout? ho già provato con android:layout_above che android:layout_below ma con nessun risultato
vi posto il codice xml:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:orientation="vertical"
             android:background="#ffffff"
             android:layout_width="match_parent"
             android:layout_height="match_parent">
            <include layout="@layout/header_note" />
    <include layout="@layout/sostituzioni_layout" />
    <include layout="@layout/bottom_note"  />
       
       <LinearLayout
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:gravity="bottom"
           android:layout_weight="1">

    <FrameLayout

           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:background="@color/grey"
           android:layout_gravity="bottom">

        <Button
               android:id="@+id/btnfatto"
               android:layout_height="wrap_content"
               android:layout_width="wrap_content"
               android:text="@string/fatto"
               android:layout_gravity="right">

        </Button>

    </FrameLayout>    
    </LinearLayout>
    </LinearLayout>

Offline Paso

  • Utente junior
  • **
  • Post: 98
  • Respect: +17
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy sIII mini
  • Sistema operativo:
    Linux Mint 17 64-bit
Re:rendere sempre visibile layout
« Risposta #1 il: 29 Novembre 2013, 10:53:23 CET »
0
Deve per forza essere un frameLayout? non puoi semplicemente mettere la scrollView dentro un LinearLayout?

Post unito: 29 Novembre 2013, 10:58:55 CET
Per esempio:
Codice (XML): [Seleziona]
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin"
   tools:context=".MainActivity$PlaceholderFragment"
   android:orientation="vertical">

    <ScrollView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:id="@+id/scrollView" >

        <LinearLayout
           android:orientation="vertical"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent">
   
            <TextView
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:textAppearance="?android:attr/textAppearanceLarge"
               android:text="Large Text"
               android:id="@+id/textView" />

            <TextView
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:textAppearance="?android:attr/textAppearanceLarge"
               android:text="Large Text"
               android:id="@+id/textView2" />
        </LinearLayout>
    </ScrollView>

    <Button
       android:text="@string/hello_world"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:gravity="center" />

</LinearLayout>
« Ultima modifica: 29 Novembre 2013, 11:06:38 CET da Paso »

Offline thejames90

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc one
  • Sistema operativo:
    windows 7/8
Re:rendere sempre visibile layout
« Risposta #2 il: 29 Novembre 2013, 12:29:02 CET »
0
ho provato come dice lei ma ovviamente funziona solo se la scrollview è più piccola dello schermo. provi ad inserire molte text view finchè non uscirà dallo schermo e vedrà che il bottone viene ancora nascosto.

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
  • Respect: +118
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:rendere sempre visibile layout
« Risposta #3 il: 29 Novembre 2013, 18:11:00 CET »
0
Qui il problema è che se usi un LinearLayout il Button contenuto nel FrameLayout viene posizionato in fondo, cioè sotto la ScrollView. Potresti invece utilizzare un RelativeLayout, che conterrà la ScrollView e il tuo Button, posizionando le varie view in modo relativo. Non dovresti avere problemi a realizzare il layout graficamente con l'editor contenuto nei plugin di Eclipse, e poi editare il file XML per ottimizzarlo secondo le tue esigenze.

Offline Paso

  • Utente junior
  • **
  • Post: 98
  • Respect: +17
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy sIII mini
  • Sistema operativo:
    Linux Mint 17 64-bit
Re:rendere sempre visibile layout
« Risposta #4 il: 29 Novembre 2013, 21:48:15 CET »
0
Per favore non darmi del lei. Chiedo scusa ma non avevo provato l'effettiva efficacia del LinearLayout. Invecece ho provato come ha detto Teskio e funziona benissimo con il RelativeLayout! Basta impostare la scrollView
Codice (XML): [Seleziona]
android:layout_width="fill_parent"
        android:layout_height="fill_parent"
e il Button
Codice (XML): [Seleziona]
android:layout_alignParentBottom="true"