Autore Topic: VideoView in ScrollView  (Letto 813 volte)

Offline elfo83

  • Utente normale
  • ***
  • Post: 287
  • Respect: +23
    • Mostra profilo
  • Sistema operativo:
    Mac OS 10.8.2
VideoView in ScrollView
« il: 13 Febbraio 2013, 00:17:01 CET »
0
Salve a tutti, ho dei problemi a far partire un video caricato in una videoView all'interno di una scrollView. Il problema è che il video non parte proprio, mentre se elimino la scrollView allora parte. Qualcuno ha qualche idea? Grazie..
 Questo è il mio codice..


Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:background="@color/background" >
   
   
    <RelativeLayout android:id="@+id/prova_patchtop" android:layout_width="match_parent" android:layout_height="47dip"/>
   
    <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@id/prova_patchtop">
     <ScrollView android:id="@+id/prova_scroll" android:layout_width="match_parent" android:layout_height="match_parent">
   <!--     <ImageView android:id="@+id/prova_image" android:layout_height="wrap_content" android:layout_width="wrap_content" android:scaleType="fitXY" />
   -->
               <VideoView android:id="@+id/prova_pickrock" android:layout_width="wrap_content" android:layout_height="wrap_content"  />
     </ScrollView>
    </LinearLayout >
  </RelativeLayout>

Codice (Java): [Seleziona]
public class prova extends Activity{
       
        private ScrollView scroll;
        private RelativeLayout container;
        private ImageView img;
        private VideoView video;
        private boolean isPlaying;
       
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
                super.onCreate(savedInstanceState);
                requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
                setContentView(R.layout.prova);
                getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlespin);
               
        /*      scroll=(ScrollView)findViewById(R.id.prova_scroll);
                scroll.setVerticalScrollBarEnabled(false);
                scroll.setFadingEdgeLength(0);*/

                /*scroll.setOnTouchListener(new OnTouchListener(){
           
                @Override
                        public boolean onTouch(View arg0, MotionEvent arg1) {
                                // TODO Auto-generated method stub
                                return true;
                        }
               
            });*/

               
                container=(RelativeLayout)findViewById(R.id.prova_patchtop);
                container.setBackgroundColor(Color.rgb(196, 222, 220));
               
               
                video=(VideoView)findViewById(R.id.prova_pickrock);
               
               
               
                video.setOnErrorListener(new OnErrorListener(){

                        @Override
                        public boolean onError(MediaPlayer arg0, int arg1, int arg2) {
                                 Log.d("MEDIAPLAYER ERRORS","what: " + arg1 + "  extra: "   + arg2);
                                return false;
                        }
                       
                });
                videoRockBg();
           
               

        }
        private void checkVideo()
        {
                CountDownTimer cdt = new CountDownTimer(10000,200)
                {

                        @Override
                        public void onFinish() {
                                // TODO Auto-generated method stub
                               
                        }

                        @Override
                        public void onTick(long arg0) {
                                // TODO Auto-generated method stub
                                isPlaying=video.isPlaying();
                                Log.d("VIDEO PLAYING",String.valueOf(isPlaying));
                        }
                       
                };cdt.start();
        }
       
       
        private void startVideo()
        {
                Uri uri=Uri.parse("android.resource://"+ getPackageName() + "/" + R.raw.qriketnew);
            video.setVideoURI(uri);
                video.setMediaController(null);
                video.requestFocus();
               
            video.start();
           
           

            checkVideo();
        }
        private void videoRockBg()
        {
                Handler handler = new Handler();
                Runnable runnable=new Runnable()
                {
                        @Override
                        public void run()
                        {
                                startVideo();
                        }
                };
                handler.postDelayed(runnable, 200);
}
}

Offline elfo83

  • Utente normale
  • ***
  • Post: 287
  • Respect: +23
    • Mostra profilo
  • Sistema operativo:
    Mac OS 10.8.2
Re:VideoView in ScrollView
« Risposta #1 il: 15 Febbraio 2013, 23:26:03 CET »
0
Scusate, qualcuno conosce il meccanismo di ridimensionamento di una VideoView all'interno di un RelativeLayout? Nel senso: per modificare il contenuto della mia VideoView che si trova in un layout, basta cambiare le dimensioni del widget VideoView, cambiare le dimensioni del parent o entrambi? Sto facendo mille prove ma non riesco a cambiare le sue dimensioni..
Qualcuno ha qualche idea?
Grazie