Autore Topic: ListView scroll verticale a scomparsa (tendina)  (Letto 713 volte)

Offline auron86

  • Nuovo arrivato
  • *
  • Post: 45
  • Respect: +1
    • Mostra profilo
ListView scroll verticale a scomparsa (tendina)
« il: 18 Agosto 2013, 15:58:24 CEST »
0
Salve sto cercando di creare una specie di tendina animata, dove alla pressione di un bottone, questa scorre verso il basso, "nascondendo il testo", e successivamente , riperdendo lo stesso tasto, questa scorrerà, verso l'alto "mostrando il testo".


ora la parte che nasconde il testo, funziona egregiamente, il problema sta nella risalita, che risulta scattosa.......

activity_main.xml

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:layout_gravity="bottom"
   android:gravity="bottom"
   android:orientation="vertical" >

    <LinearLayout
       android:id="@+id/semiglobal"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_gravity="bottom"
       android:background="#FFF"
       android:orientation="vertical" >

        <Button
           android:id="@+id/button1"
           android:layout_width="fill_parent"
           android:layout_height="50dip"
           android:text="Button" />

        <LinearLayout
           android:id="@+id/slider"
           android:layout_width="fill_parent"
           android:layout_height="200dip"
           android:background="#FFF"
           android:orientation="vertical" >

            <TextView
               android:id="@+id/content"
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:layout_gravity="center"
               android:gravity="center"
               android:text="Questa è una prova do scrol su e giu"
               android:textSize="30dip" />

            <TextView
               android:id="@+id/content2"
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:layout_gravity="center"
               android:gravity="center"
               android:text="Lo scrol risulta fluido ?"
               android:textSize="20dip" />

            <TextView
               android:id="@+id/content2"
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:layout_gravity="center"
               android:gravity="center"
               android:text="Bhe io spero di si perche altrimenti non serve a molto"
               android:textSize="15dip" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>


anim_down.xml
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
       android:duration="500"
       android:fromYDelta="0%"
       android:toYDelta="75%" />

</set>



amin_up.xml

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
       android:duration="500"
       android:fromYDelta="0%"
       android:toYDelta="-200%" />

</set>


activity

Codice (Java): [Seleziona]
public class MainActivity extends Activity{
        private Animation animUp;
        private Animation animDown;
        private LinearLayout ll,lg;
        private float startY;
        private Button bottone;

        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                bottone = (Button) findViewById(R.id.button1);
                ll = (LinearLayout) findViewById(R.id.slider);
                lg = (LinearLayout) findViewById(R.id.semiglobal);
                ll.setVisibility(View.GONE);
                animUp = AnimationUtils.loadAnimation(this, R.anim.anim_up);
                animDown = AnimationUtils.loadAnimation(this, R.anim.anim_down);
                bottone.setOnClickListener(new View.OnClickListener() {
                       
                        @Override
                        public void onClick(View v) {
       
                                if (ll.getVisibility()==v.VISIBLE) {
                       
                                    animDown.setAnimationListener(new AnimationListener() {

                                        @Override
                                        public void onAnimationEnd(Animation animation) {
                                            // TODO Auto-generated method stub
                                            ll.setVisibility(View.GONE);
                                        }

                                        @Override
                                        public void onAnimationRepeat(Animation animation) {
                                            // TODO Auto-generated method stub

                                        }

                                        @Override
                                        public void onAnimationStart(Animation animation) {
                                            // TODO Auto-generated method stub

                                        }
                                    });
                                    lg.startAnimation(animDown);

                                } else {
                                        animUp.setAnimationListener(new AnimationListener() {

                                        @Override
                                        public void onAnimationEnd(Animation animation) {
                                            // TODO Auto-generated method stub
                                                ll.setVisibility(View.VISIBLE);
                                       }

                                        @Override
                                        public void onAnimationRepeat(Animation animation) {
                                            // TODO Auto-generated method stub
                                        }

                                        @Override
                                        public void onAnimationStart(Animation animation) {
                                            // TODO Auto-generated method stub
                                        }
                                    });
                                       
                                    lg.startAnimation(animUp);
                                }
                        }
                });
        }
}

Offline auron86

  • Nuovo arrivato
  • *
  • Post: 45
  • Respect: +1
    • Mostra profilo
Re:ListView scroll verticale a scomparsa (tendina)
« Risposta #1 il: 20 Agosto 2013, 19:09:39 CEST »
0
nessuno che mi possa aiutare ?